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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
) n( C2 X$ W# n' r3 M9 q8 `; ?
需求: S. D5 a8 j7 L0 e( J
* f3 ]$ ^, @+ O" `1 t$ G
        直接操作RGB图像的像素点,进行颜色的相关操作。
  e  t$ g  \2 f2 O, Z, H! `; \& s! U
           掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行、整列的操作。, B3 Z6 e4 \' `& _

2 ~/ n( S6 f9 ?     如:2 z. J) n& Q0 c5 V: S6 L+ i
* `! K& @  F, q. j/ H  l
           J = [1 2 3; 4 5 6; 7 8 9]; ——这里定义了一个三行三列的矩阵。% W( T- x" w  E$ f

0 Y4 q6 g4 f  S) Q           J[:, 1] = 0; ——直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9]
7 M* _  V  w! V5 N  d+ |. ^% n3 w& [& l
           其他如行操作用法类似,不再赘述。% |/ f7 A! ]8 g+ @

3 E+ Q4 p9 N' r( f( L% ]     
. S- U3 V% B* g8 X. ?; ]% ~$ Z- H# n+ R* {
     下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色。/ I, V. p: k4 W2 c: Z
3 M2 E1 {( {3 j- \
代码如下:* Q8 r  O- t9 q
* o. l# c# V; g$ d# M
  • % 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);
    6 `# _1 i$ l$ l4 l7 e. V7 V/ [
   ! }' d- k7 ^, @3 ~

7 D( }) }0 p4 l3 F: u5 d9 z' M* Q+ T) |/ M
运行结果:' G: z# L  Z9 M
转换前:( R! _2 `5 i/ l4 Q4 b( n
( A1 v( D0 @' Q. d4 g+ T! L
5 a/ e2 T! g! L3 M
* Q4 w- l4 x  H4 x, G% U
转换后:
, _( e# B" J9 s$ }; \' z- C+ K9 R9 C% ^% N% R

! ?1 R: R" k$ n5 ?( j% }% t8 |

* h0 Q" R/ r# @& K" P
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-30 13:57 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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