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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

+ C, L' {" u. Z4 N1 r) ?需求! Z+ Z# r4 ^6 o( @

7 h( ^2 D9 G% P" {. j! o( `        直接操作RGB图像的像素点,进行颜色的相关操作。
; Q" J2 y8 i6 q2 Z$ e5 s0 U: _# W( ~, V. E
           掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行、整列的操作。$ |& @- G4 p% y. L' g) n
: c, B7 I/ t! n$ Q6 S
     如:/ m/ H0 R1 y2 J; ~/ i

; B, y, D) C  _6 s/ k& Q9 C           J = [1 2 3; 4 5 6; 7 8 9]; ——这里定义了一个三行三列的矩阵。
5 R" q* d9 j. d9 T1 E$ [& j7 M
9 R# t8 U0 q# B2 q4 M           J[:, 1] = 0; ——直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9]
9 c$ @" B/ {6 v8 \
9 f6 m- S* x1 M           其他如行操作用法类似,不再赘述。
4 F+ C% I/ K: D' Q& F+ a3 R5 @
: h! Q: N* d/ ~) S; _) o     , I& Q. \' |9 X. j3 o- a0 h
7 D: v5 }. C5 o! k, h
     下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色。: `& C. K% Q; a( r! h3 V$ ^9 v

2 [9 Q( l& l  F' ^. i* c' O5 @代码如下:
2 R+ C+ b2 y0 ~) y' y* y" X7 I) V/ J* f$ J' s2 R. 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);7 D  e& H$ B7 }6 f9 ~3 I; Y4 V, ?
   9 c! v6 O& H, `) t7 U# ^: f
( g" G& G9 y" r( d( }. v& N/ f8 T
1 x' p1 T7 O0 o" Z
运行结果:
( g* e# [6 r. m& u8 \- ?; x6 m4 u转换前:
* C5 i+ R/ |  `7 }9 x( M) P$ V+ ]& Y

9 @: |) w# a2 l9 L4 o4 |$ {3 ?3 M
* C1 S7 l2 X; p) `6 g$ O转换后:. i9 h; t* c6 {2 z  i
; |4 q8 p9 o; s3 q2 W7 q7 d

! j  v; r; _" i. W

. U4 j! o- Q/ m4 K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 12:16 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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