开头说的是一些背景,如果想要看源码和结果的可以直接跳过!
最近留的课程设计抽签决定题目,我手气很好,直接抽了个第一题!
题目是:读入可选择目录下的图像文件,进行加亮、取反操作,并实现原图和操作后图像在同一窗口同时显示。
在做这个作业背景的前提条件下是老师在学习通给我们放了七个B站上的入门视频,讲的挺不错的。
B站链接:https://www.bilibili.com/video/BV1wx411D7Av/
(应该更新了8,9个视频,都看完了,讲的确实不错)
在布置作业的第二天早上还没有和小组商量的前提下开始做这个作业,结果通过博客一步一步学习40+分钟就基本完成,想和老师私聊询问一下这个一些问题。
结果!!!
老师把我从他微信里面删除了!!!
于是只能在群里向老师询问,在群里聊着聊着解决了很多问题,然后我在编辑代码时候手机滴答响了一下,一看消息是老师把我又加了回来,本来挺感动的
但是!!!
有没有很感动,呜呜呜~~,
人的悲欢并不相同,我只觉得我太悲哀。
没办法,只能高(bei)高(bei)兴(ai)兴(ai)的继续做
终于在博客的学习中做了出来!
接下来给大家分享一下源码以及解释哈!
rgb = imread('f:\4.jpg');%读取图片
figure(1),subplot(2,3,1);imshow(rgb);title('原图像');
[m,n,k] = size(rgb); %读取图片大小
hsv = rgb2hsv(rgb); %颜色空间转换
H = hsv(:,:,1); % 色调
S = hsv(:,:,2); % 饱和度
V = hsv(:,:,3); % 亮度
for i = 1:m %遍历每一个像素点,可以根据需要选择自己需要处理的区域
for j = 1: n
hsv(i,j,3) =1.3* hsv(i,j,3); %1.3是需要增强的倍数,可以根据图片情况动态调整
end
end
rgb1 = hsv2rgb(hsv); %转为RGB,进行显示
figure(1),subplot(2,3,2);imshow(rgb1);title('加亮图像');
temp = rgb2gray(rgb);%用已有的函数进行RGB到灰度图像的转换
rgb2 = 255 - temp;
figure(1),subplot(2,3,4);imshow(temp);title('灰图图像');
figure(1),subplot(2,3,5);imshow(rgb2);title('取反图像');
imgdata = im2double(temp);
rgb3 = 1 * (imgdata .^0.5);
figure(1),subplot(2,3,6);imshow(rgb3);title('增强对比度图像');
/*下方注释部分,也可运行,但采用上面的方法*/
% para = [50,800];
% rgb3 = GrayTransform (temp, para);
% figure(1),subplot(2,3,6);imshow(rgb3);title('增强对比度图像');
% rgb = imread('f:\2.jpg');
% figure(1),subplot(1,3,1);imshow(rgb);title('原图像');
% rgb1 = 1.3*rgb;
% figure(1),subplot(1,3,2);imshow(rgb1);title('加亮图像');
% rgb2 = 255 - rgb1;
% figure(1),subplot(1,3,3);imshow(rgb2);title('取反图像');
结果:
好啦,分享到这里,如果有什么地方意思不清楚明白的可以在评论区留言或者私信我询问哈!!!