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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

, T- K  ]7 A  ?" o$ ~: @需求6 C8 r# }; q: z' C/ Q/ ]

- o, n) g- r1 G& Z( c        直接操作RGB图像的像素点,进行颜色的相关操作。
7 }7 ]. u3 F# B  b  {: y. [4 n6 E4 N2 Z9 W
           掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行、整列的操作。2 Q; E1 L$ A# @. Z; e
6 O) N$ X5 |' ^0 O
     如:
% e8 N% L) V' {6 x( {+ h0 ]0 K: V; h, X$ ~3 s
           J = [1 2 3; 4 5 6; 7 8 9]; ——这里定义了一个三行三列的矩阵。
( A8 K' }4 d( z7 `4 @0 C. g+ y5 `* L( l" \/ P5 z
           J[:, 1] = 0; ——直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9]0 d; r, C! `2 d8 B1 o  n

# B$ ^$ l* _# }6 \/ s           其他如行操作用法类似,不再赘述。
4 C% t. o, ]5 Z4 |5 m/ ]. D) s0 W3 k8 |% f$ i( {( ^  v
     " w& X' \8 v0 U$ E% K# p

- z: ~4 A* P  Y- q$ m" u9 B! [     下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色。: m) |! u1 H" P0 J+ ]
, K9 {  i, I4 t1 k
代码如下:5 \" ]3 v; ]; a! G% I/ y5 N

- G! a2 A3 N  O. u
  • % 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);/ z1 R4 n+ x" v; p7 g! ^
   
: ]' ?5 J2 b- m* U
, n3 {' y) e+ e8 K" }

( J9 S. k( e* V" n/ ?# T% }$ z. M运行结果:
8 O9 b+ {& @1 `) R7 Z转换前:
! Q8 z. n- ~6 T' R: e1 N) i) y7 R% n
- u) e/ M0 Y; w
5 C" Q) @2 Z6 I* ?
转换后:
. p1 i7 q5 G# R
8 W% Q, ]4 j! x- K) _

) r8 I+ T* u5 A$ x  C2 t4 ?* ~2 W
. I% l2 P7 H1 T: b" B4 v  y
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 15:31 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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