Matlab简单黑白图像处理

  • 目录

  • 彩色转黑白

  • 区域选择

  • 黑白图像局部增亮

  • 黑白局部反转

 

  • 彩色转黑白

function Img1 =turn_black(ff)
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
f1 = imread(ff); %f1是一个图像矩阵
figure;                       %产生图形窗口
subplot(1,2,1);    %所画图形 行数 列数 序号
imshow(f1),title('彩色图'); %显示一张图片,标题
f2 = rgb2gray(f1);            %将彩色图像转化为灰度图像
Img1 = f2;
subplot(1,2,2);
imshow(f2),title('灰度图');
imwrite(f2,'C:\Users\Duan\Desktop\matlab自定义函数库\处理\灰度图.jpg'); %将灰度图片写入
end

  • 区域选择

function  [tmp, firstRow,finalRow,firstCol,finalCol]= chose_part(ff)
%区域选择
f2 = ff;
g = double(f2);
[rows, cols] = size(g);
firstRow = int32(rows/8);% 从上到下
finalRow = int32(rows/2);
firstCol = int32(cols/5.8);% 从左到有
finalCol = int32(cols/2.6);
tmp = g(firstRow:finalRow, firstCol:finalCol);

end

  • 黑白图像局部增亮

function local_brightening(myGrayImg1)
%灰度局部增亮

f2 = imread(myGrayImg1);
figure; 
subplot(1,2,1);
imshow(f2),title('灰度图');

[tmp, firstRow,finalRow,firstCol,finalCol]= chose_part(f2);%局部选择

tmp = 2 * tmp;%  2倍增亮
f2(firstRow:finalRow, firstCol:finalCol) = tmp;
subplot(1,2,2);
imshow(f2),title('局部增亮图');
imwrite(f2,'C:\Users\Duan\Desktop\matlab自定义函数库\处理\局部增亮图.jpg');

end
 

  • 黑白局部反转

function roll_back(myGrayImg2)
%局部反转
f1 = imread(myGrayImg2);
figure;                        %产生图形窗口

subplot(1,2,1);
imshow(f1),title('灰度图');

[tmp, firstRow,finalRow,firstCol,finalCol]= chose_part(f1);  %调用 局部选择 函数

tmp = 255 - double(tmp(:,:));
f1(firstRow:finalRow, firstCol:finalCol) = tmp;
subplot(1,2,2);
imshow(f1), title('局部反转图');

imwrite(f1,'C:\Users\Duan\Desktop\matlab自定义函数库\处理\局部反转图.jpg');

end

  • 函数的调用

function main(  )

clc;clear;
myImgName = 'C:\Users\Duan\Desktop\timg.jpg';%彩色转黑白
turn_black(myImgName);

myImgName ='C:\Users\Duan\Desktop\matlab自定义函数库\处理\灰度图.jpg';%黑白局部增亮
local_brightening(myImgName);

roll_back(myImgName);%局部反转


end
 

Matlab简单黑白图像处理_第1张图片

Matlab简单黑白图像处理_第2张图片

Matlab简单黑白图像处理_第3张图片

 

你可能感兴趣的:(图像处理)