在matlab平台下,为了得到二值图像,先是用函数im2bw将彩色图像转换成二值图像,然后用imwrite函数生成指定路径的二值图像。
这里用到的例子是将彩色图像(64×64×3 uint8型图像数组)转换成二值图像(64×64 logical型图像数组)。
matlab程序如下:
//读数据subplot(1, 2, 1);a = imread('watermark2.bmp');imshow(a);title('原图');//彩色图像二值化subplot(1, 2, 2);thresh = graythresh(a);//自动确定阈值b = im2bw(a, thresh);imshow(b);title('二值化');//生成bmp格式的二值图像str1 = 'C:\路径\';str2 = 'binary_image2';str3 = '.bmp';save_path = [str1, str2, str3];imwrite(b, save_path);% 这里可以写成imwrite(b, stract('C:\路径\', 'binary_image2', '.bmp'))
程序执行结果:
除此之外,在指定的文件夹中会生成一个二值图像"binary_image2.bmp"