EDA365电子论坛网

标题: 在MATLAB中对图像直接操作像素点进行颜色变换 [打印本页]

作者: haidaowang    时间: 2019-12-12 10:00
标题: 在MATLAB中对图像直接操作像素点进行颜色变换

+ ^: L; ^( m: g7 ?2 I需求
* x  V' p! Z' c* o+ _. d* e+ x4 M* u% x! Y
        直接操作RGB图像的像素点,进行颜色的相关操作。0 h# Y; {' q5 y5 S! B2 n% w7 t1 V
6 A) k; F' \# x
           掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行、整列的操作。: W' u& a4 ^) ~5 g2 E

7 k5 M4 @  v' H7 a( e     如:0 _/ M1 ]& \! p% A% Y9 s1 W5 [
7 |/ u- Z. x. z8 n7 t' F
           J = [1 2 3; 4 5 6; 7 8 9]; ——这里定义了一个三行三列的矩阵。4 H$ Y$ `3 d5 f

& l- {4 ?" u  G' o- ?           J[:, 1] = 0; ——直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9]8 b/ r; ^1 M! Q6 r1 m0 R" _) y

) f! M! n9 t" H7 t; y           其他如行操作用法类似,不再赘述。9 _# h0 @& J! A: r

# @& O3 D4 N1 m- W2 [     " {  \. J3 g9 f' @: f; N
+ s. H5 z* l$ X- K( ^- [
     下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色。
! c% Y* ~) ~; ~& J+ Q' k
/ T1 E2 A2 P* }* ~) r7 h) o- N# t代码如下:2 }. o1 r, @% M! K$ Q, r1 o

! v. d; Y, V0 R' \+ k   
3 Q: h9 i" M% J8 j; {

0 m" V8 I9 E) G
$ T. Q0 X, o; D5 Y运行结果:& i1 c7 x# c/ Y1 Y% d3 d9 t2 ~! J
转换前:( ?7 a1 [4 J/ z1 B7 Y

7 ?  M2 [$ ^1 E' l0 s

& u5 A# _$ n' a4 R* h9 N- P+ o* J( c* {) `7 f
转换后:( ?! S2 }1 a& I
+ X2 q# m$ l. j; L4 t3 {7 J
6 ~4 O/ W5 [) Y6 Y% y

- N4 @1 j3 V1 F+ U$ D
作者: WNSKS    时间: 2019-12-12 19:49
谢谢分享
作者: yin123    时间: 2019-12-13 19:25
谢谢分享




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2