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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
0 z; P2 }# f* H0 {/ Q) Y, A9 x
需求) n; ^  ^! G/ `# H; b
4 J) I; R4 x0 y4 R6 f+ `0 }. j
        直接操作RGB图像的像素点,进行颜色的相关操作。
4 d7 R# E' h7 R. @$ ~! t) s/ a) g% m6 }( t
           掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行、整列的操作。( M8 t8 W7 D: Y; b) E2 u  o3 }

' S7 X4 Q! {% E( m     如:9 i& G5 z) Z5 M
, d1 \9 D' Y0 |1 v* t4 z+ _
           J = [1 2 3; 4 5 6; 7 8 9]; ——这里定义了一个三行三列的矩阵。
3 O$ [* |# J! f$ v1 V: p( D8 ~) L
) w; Q; K, r9 [7 b( U           J[:, 1] = 0; ——直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9]1 W3 W+ l2 q8 e, h/ A( r" C
6 z6 @; O3 T5 g9 v7 T) s# J
           其他如行操作用法类似,不再赘述。. u' h9 F% ~: @. x0 Q) o! n2 M
9 x4 _  c3 s1 |; y9 z$ F
     ' V! Q* K% I5 S. E$ X4 B, \
/ U3 L! @/ _' F" b% w" v
     下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色。8 }1 y. w0 Y5 E- |, h

4 P1 Y+ v7 I+ w: I代码如下:- G' I. Z% m+ K- G
1 p& y& `' R: 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);" Q6 t% N3 [; @* B( m, N2 K& F
   : l1 u; y4 K, L  a% u2 E/ p

" U" N; [! [* C: W; S
* Q2 Y$ k" O4 j/ ?: E3 D% U3 ]运行结果:
$ u# a& _* e" I, w' K" w- V转换前:
+ `9 o, v% Q! Y/ @1 n3 r  b: C/ E1 \! z5 ~3 S

; N+ J9 Y5 o9 S7 x  u3 p2 q( K. u7 W
转换后:
/ n2 [/ {. X* l' [& h. q; K2 ^6 I6 d) I0 Z4 x$ t) e
' k# |! V# e3 s4 h
% ]! h& j3 C: a9 A: Q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-12 05:35 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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