matlab 处理图片小功能 |
您所在的位置:网站首页 › nodejs对比两张图片差异 › matlab 处理图片小功能 |
matlab 处理图片小功能
一、MATLAB 怎么将2幅大小不同的图片一幅上一幅下合成一幅二、matlab图像剪裁命令imcrop()三、matlab 定位图像中像素坐标的方法四、MATLAB:批量对图片进行裁剪
一、MATLAB 怎么将2幅大小不同的图片一幅上一幅下合成一幅
1、思想: 将其中一幅图缩小或放大,让两幅图大小相等或者只要列数相等就可以。 2、代码: scrimage1 = imread('sizea.jpg'); scrimage2 = imread('sizeb.jpg'); scrimage2 = imresize(scrimage1 , [NaN 256]); post_image = [scrimage1 ;scrimage2]; imshow(post_image)参考链接1 二、matlab图像剪裁命令imcrop()1、调用格式: I2=imcrop(I,RECT); X2=imcrop(X,MAP,RECT); RGB2=imcrop(RGB,RECT);其中,I、X、RGB 分别对应灰度图像、索引图像、RGB 图像的数据矩阵,MAP 为索引图像颜色表,I2、X2、RGB2 分别为各自输入矩阵所对应的输出矩阵。而 RECT 为可选参数,格式为 [XMIN YMIN WIGTH HEIGHT].例如 [20 20 40 40],则剪裁后的图像的左上角像素为原图像位置在(20,20)的像素,而剪裁后图像的右下角像素为原图像位置在(60,60)的像素。 另外,如不加参数RECT,将使用鼠标在原图像上划矩形框的方法来实现图像的剪裁,所划矩形框内的图像将在新窗口中输出。 2、实例: RGB=imread('test.jpg'); RGB1=imcrop(RGB,[60,255,400,425]); imhsow(RGB); figure imshow(RGB1);参考链接2 三、matlab 定位图像中像素坐标的方法1、ginput [x,y] = ginput(n),n为你想选的点的个数,鼠标点的那些点的横坐标和纵坐标就会保存到[x,y]中或者直接输入ginput,最后以回车结尾。 2、impixelinfo(更为方便) 显示图像后,直接在命令窗口输入impixelinfo敲回车(可以实时显示鼠标所在位置的坐标和像素值) 参考链接3 四、MATLAB:批量对图片进行裁剪1、代码 %% crop the im into 256*256 clear; clc; file_path = 'path\to\your\images\'; % 设定你存放图片的目录 img_path_list = dir(strcat(file_path, '*.jpg')); % 选后缀为 .jpg 的图片 img_num = length(img_path_list); %获得图片数量 for j = 1:img_num image_name = img_path_list(j).name; image = imread(strcat(file_path, image_name)); crop_image = imcrop(image, [118, 85, 255, 255]); % 使用 imcrop() 函数来裁剪图片,第二个参数的格式为 [XMIN YMIN WIDTH HEIGHT] imwrite(crop_image, strcat('path\to\save\', image_name)); % 保存文件 end2、代码中使用的函数: dir() 列出符合字符串 strcat(file_path, ‘*.jpg’) 的所有文件; strcat() 函数是用来把两个字符串合起来的; imcrop(image, [XMIN YMIN WIDTH HEIGHT]) 指定了图片和需要裁剪的地方,指定的方式是,指定左上角,和需要裁剪的宽和高; imwrite(image, path) 就是写文件的。 参考链接4 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |