找回密码
 注册
关于网站域名变更的通知
查看: 500|回复: 2
打印 上一主题 下一主题

在MATLAB中对图像直接操作像素点进行颜色变换

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-12 10:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

: f6 g% _, X( O6 u需求9 f6 @; @( [  C
0 p- V1 T6 K% [% |4 w: C
        直接操作RGB图像的像素点,进行颜色的相关操作。
8 k2 u: `0 c2 v3 n9 p/ Q* ^* G
+ b/ P/ Q- }) L) l2 i           掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行、整列的操作。
( V: Z# @* \5 k& \0 E7 F; B
( y6 g: o3 `/ _/ \$ N     如:, j2 r+ t9 l/ x* b
) F1 w+ P+ o$ J
           J = [1 2 3; 4 5 6; 7 8 9]; ——这里定义了一个三行三列的矩阵。8 I) F. T6 q3 ]( ^6 ]* F
. u: n6 X7 s* k0 }
           J[:, 1] = 0; ——直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9]
+ O+ V7 ^6 t9 j' C+ J: a* m% j8 U. G- \% @8 i
           其他如行操作用法类似,不再赘述。
# ^+ x8 b# n4 C; v9 }
4 p6 C1 ^# r- s' ]     ' W% H, i6 A" _
+ ^+ u: W1 o' T3 @( s; q: i' t
     下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色。* n' }" z6 d6 I
6 n6 E- _6 F8 B
代码如下:
0 i" }. z/ J$ G& D; @# z3 W* h2 o0 H) s7 @& h
  • % BY   SCOTT                                                                                                                                              % red2blue
  • % change red to blue
  • clear all;
  • clc;
  • rgb = imread('red2blue.png');
  • figure;
  • imshow(rgb);
  • R=rgb(:,:,1); %red
  • G=rgb(:,:,2); %green
  • B=rgb(:,:,3); %blue
  • [x,y,z]=size(rgb);
  • for i=1:x
  •     for j=1:y
  •         if( (R(i,j) >= 180) && (R(i,j) <=255) && (G(i,j) <50) && (B(i,j) <50) )
  •             R(i,j) = 0;
  •             G(i,j) = 162;
  •             B(i,j) = 232;
  •         end
  •     end
  • end
  • % in this way
  • % blue(:,:,1)=R(:,:);
  • % blue(:,:,2)=G(:,:);
  • % blue(:,:,3)=B(:,:);
  • % another way
  • for i=1:x
  •     for j=1:y
  •         blue(i,j,1) = R(i,j);
  •         blue(i,j,2) = G(i,j);
  •         blue(i,j,3) = B(i,j);
  •     end
  • end
  • figure;
  • imshow(blue);
    % o  E3 O8 Z# F( o2 E$ U
   
% z" K- S; \+ ?: p
4 n% P/ V9 b% D8 x% e  D
( y. r7 A: S6 E, H5 v. e2 F: a! Z
运行结果:
6 p2 M6 \$ K! Y5 n6 \7 I' ?转换前:+ f! |8 X+ V" [8 P
2 Q2 E; o. p* S2 O2 ?, D- L
; V8 @( J' f8 R* X! g6 Y" j. X

8 D* k, t- h& i转换后:
8 ]3 [# J+ k8 J( G
* H# o7 P' |% v4 }+ |$ [" a

4 `/ e  @" x9 x" Z/ j8 k5 ~( t
5 h. M# z- T0 X6 p5 o
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 20:25 , Processed in 0.171875 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表