-
目录
-
彩色转黑白
-
区域选择
-
黑白图像局部增亮
-
黑白局部反转
- 彩色转黑白
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