日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RGB图像三个分量的理解和显示

發布時間:2023/12/14 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RGB图像三个分量的理解和显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RGB圖像由格式為M×N×3的三維數組組成,其中的“3”可以理解為三幅M×N的二維圖像(灰度值圖像)。這三幅圖像分別代表R、G、B分量,每個分量的像素點取值范圍是[0,255]。

有兩種方法可以將RGB圖像的三個分量分別顯示出來,但顯示效果不一樣:

  • 灰度值顯示法
    該方法比較簡單,通過提取R、G、B分量,再分別顯示出來,matlab代碼如下:
clc; clean all; RGB = imread('baby.bmp'); subplot(2,2,1),imshow(RGB(:,:,1)),title('R分量'); subplot(2,2,2),imshow(RGB(:,:,2)),title('G分量'); subplot(2,2,3),imshow(RGB(:,:,3)),title('B分量'); subplot(2,2,4),imshow(RGB),title('RGB');

顯示結果

  • 彩色顯示法

只有當RGB的三個通道同時被賦值時才會顯示顏色,如R分量顯示出紅色,matlab代碼如下:

clc; clear all;RGB = imread('baby.bmp'); zeromatrix = zeros(512, 512); %創建一個512×512的零矩陣 RGB_R = cat(3, RGB (:,:,1), zeromatrix , zeromatrix ); RGB_G = cat(3, zeromatrix , RGB (:,:,2), zeromatrix ); RGB_B = cat(3, zeromatrix , zeromatrix, RGB (:,:,3));subplot(2,2,1),imshow(RGB_R ),title('R分量'); subplot(2,2,2),imshow(RGB_G),title('G分量'); subplot(2,2,3),imshow(RGB_B),title('B分量'); subplot(2,2,4),imshow(RGB),title('RGB');

顯示結果

補充說明上述用到的個別函數:

  • zeros函數
    表達式1:zeros(m, n),表示創建一個m×n的零矩陣;
    表達式2:zeros(n),表示創建一個n×n的零矩陣;
    相對于零矩陣,ones函數表示創建一個全1矩陣,用法和上述函數類似。
  • cat函數——聯結數組
    通用表達式:cat(dim, A, B, …);
    用cat(num, A, B)作為具體例子進行說明(num=1,2,3),設A=[1 2;3 4],B=[4 5; 6 7]
    A =
    1 2
    3 4
    B =
    4 5
    6 7
    A_1 = cat(1, A, B):A和B按列連接
    A_1 =
    1 2
    3 4
    4 5
    6 7
    A_2 = cat(2, A, B):A和B按行連接
    A_2 =
    1 2 4 5
    3 4 6 7
    A_3 = cat(3, A, B):RGB圖像顯示分量的matlab代碼用到這種用法
    A_3(:, :, 1) =
    1 2
    3 4
    A_3(:, :, 2) =
    4 5
    6 7
  • 待繼續補充

參考博客

https://blog.csdn.net/rzwangyu/article/details/50981762

總結

以上是生活随笔為你收集整理的RGB图像三个分量的理解和显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。