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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

# V, v8 k" m% |7 C& |: D. N需求# f, ]; Q" S, m* |

1 F4 Q  W0 ~! L% h        直接操作RGB图像的像素点,进行颜色的相关操作。: g" c# H$ b1 @/ s
. Y' k" ^+ o3 E
           掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行、整列的操作。
6 {; V. w' L$ j7 }5 h* K- \$ a% {! ]
     如:, q5 ~/ n. m1 f) {" b2 G+ X
$ _9 H4 t& k! f, O- a2 j
           J = [1 2 3; 4 5 6; 7 8 9]; ——这里定义了一个三行三列的矩阵。
, s/ B$ O4 V. G2 h6 o4 T4 Q
8 ~' r) G- A) Z4 e6 Y           J[:, 1] = 0; ——直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9]0 F6 a$ n+ ?% [3 V

5 B  P$ K7 F& y0 I8 R- s7 I" D: q1 Z$ E           其他如行操作用法类似,不再赘述。1 M; [: c* o0 \6 S% T/ t) l  k3 T2 v

8 {# q! n4 h9 p     
9 l- y, _) S, a
. y" v" a4 x- g& T8 P2 D8 [     下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色。; r% Z1 h% m8 e1 g: T/ D4 J. B' r% [
0 J1 b& S) e( }. [
代码如下:" P9 g& k) n% C6 H' R

: K- T1 B6 f& ?2 C% Y* T
  • % 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);
    # f; q$ f/ b7 k% Q2 h' q
   4 A. M+ ^2 W- X0 V# K- C

) O6 j, t' j0 `; T1 [; w% ~$ e1 m  q, C% K6 X' {" Q5 }, w
运行结果:
9 k' C2 U) h: V0 H转换前:' M5 y! y; k4 U2 U* R- P5 S
7 F9 v0 P3 V0 E% \
+ l  _! n: A9 |% \. Z; t4 e1 m
1 O; s; L) q3 q) ~! ?# e/ e
转换后:
7 ?% B+ Q3 x9 g* Z% |3 O0 t8 U+ c* |; l, U6 `7 a# l1 v

3 j8 c: y" A+ Y2 P/ x9 }4 f

$ s1 ]1 s) K. h+ C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-31 23:33 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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