DIP第六章习题解答
生活随笔
收集整理的這篇文章主要介紹了
DIP第六章习题解答
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
數字圖像處理 第六章課后作業(yè)
文檔地址:數字圖像處理第六章課后作業(yè).pdf_數字圖像處理第六章課后答案-圖像處理文檔類資源-CSDN下載https://download.csdn.net/download/qq_44143405/12549547
第一題
6-7 在彩色 RGB 系統(tǒng)中,每幅 RGB 圖像均為12比特圖像,共有多少種不同的灰度?
第二題
6-24 怎樣才能實現(xiàn)與3.3.2節(jié)中匹配(規(guī)定)的灰度直方圖等效的彩色直方圖?
附錄含 matlab 實行步驟(含程序)
第三題
6-25 考慮下列 500×500 的 RGB 彩色圖像,圖像中方框是完全飽和的紅色、綠色和藍色,且每種顏色處在最大亮度[例如,對于紅色方框是(1,0,0)]。由該圖生成了一幅 HSI 圖像。
(a)描述每幅 HSI 分量圖像的外觀。
(b)用一個 250×250 的平均模板來平滑 HSI 圖像的飽和度分量。描述結果的外觀(在中,您可通過濾波操作忽略圖像的邊界效應)。
(c)對色調圖像重復(b)
附錄含 matlab 實行步驟(含程序)
第二題代碼塊
程序:
Image1=im2double(imread('lotus.bmp'));hsi = rgb2hsi(Image1); ????????????????%將RGB圖像轉化為HSI空間h = hsi(:,:,1);s = hsi(:,:,2);i = hsi(:,:,3);NewImage2=histeq(i);figure,subplot(121),imhist(hsi);title('原圖像直方圖');subplot(122),imhist(NewImage2);title('直方圖均衡化');hsi1 = cat(3,h,s,i);rgb1 = hsi2rgb(hsi1);hsi2 = cat(3,h,s,NewImage2);rgb2 = hsi2rgb(hsi2);figure,subplot(121),imshow(rgb1),title('原圖像');subplot(122),imshow(rgb2),title('均衡化后圖像');第三題代碼塊
程序:
clear all?;clc;%生成紅綠藍格子rgb_G = zeros(500,500);rgb_G(1:250,1:250) = 1;rgb_G(251:500,251:500) = 1;rgb_R = zeros(500,500);rgb_R(1:250,251:500) = 1;rgb_B = zeros(500,500);rgb_B(251:500,1:250) = 1;rgb = cat(3,rgb_R,rgb_G,rgb_B);hsi = rgb2hsi(rgb); ??????????????????%將RGB圖像轉化為HSI空間h = hsi(:,:,1);s = hsi(:,:,2);i = hsi(:,:,3);K = fspecial('average',[250 250]); ???%250*250的平均模板H = imfilter(h,K,'replicate'); ???????%模糊H分量hsi1 = cat(3,H,s,i);rgb1 = hsi2rgb(hsi1);S = imfilter(s,K,'replicate'); ???????%模糊S分量hsi2 = cat(3,h,S,i);rgb2 = hsi2rgb(hsi2);%顯示圖像figure, imshow(rgb), ???title('RGB彩色圖像');figure; imshow(rgb1,[]),title('H模糊后的圖像');figure; imshow(rgb2,[]),title('S模糊后的圖像');由于matlab?2018b?中沒有自帶rgb2hsi、hsi2rgb函數,下面附帶了這兩個函數的源程序。
rgb2hsi函數
function?hsi = rgb2hsi(rgb)% hsi = rgb2hsi(rgb)把一幅RGB圖像轉換為HSI圖像,% 輸入圖像是一個彩色像素的M×N×3的數組,% 其中每一個彩色像素都在特定空間位置的彩色圖像中對應紅、綠、藍三個分量。% 假如所有的RGB分量是均衡的,那么HSI轉換就是未定義的。% 輸入圖像可能是double(取值范圍是[0, 1]),uint8或 uint16。% 輸出HSI圖像是double,% 其中hsi(:, :, 1)是色度分量,它的范圍是除以2*pi后的[0, 1];% hsi(:, :, 2)是飽和度分量,范圍是[0, 1];% hsi(:, :, 3)是亮度分量,范圍是[0, 1]。% 抽取圖像分量rgb = im2double(rgb);r = rgb(:, :, 1);g = rgb(:, :, 2);b = rgb(:, :, 3);% 執(zhí)行轉換方程% 實現(xiàn)H分量num = 0.5*((r - g) + (r - b));den = sqrt((r - g).^2 + (r - b).*(g - b));% 防止除數為0theta = acos(num./(den + eps));H = theta;H(b > g) = 2*pi - H(b > g);H = H/(2*pi);% 實現(xiàn)S分量num = min(min(r, g), b);den = r + g + b;% 防止除數為0den(den == 0) = eps;S = 1 - 3.* num./den;H(S == 0) = 0;%實現(xiàn)I分量I = (r + g + b)/3;% 將3個分量聯(lián)合成為一個HSI圖像hsi = cat(3, H, S, I);%hsi = H; ???%分別返回3個分量%hsi = S;%hsi = I;hsi2rgb函數
function?rgb=hsi2rgb(hsi)%rgb=hsi2rgb(hsi)把一幅HSI圖像轉換為RGB圖像%其中HSI是double型%hsi(:,:,1)是色度分量,它的范圍是除以2*pi后在[0,1]內%hsi(:,:,2)是飽和度分量,它的范圍是在[0,1]內%hsi(:,:,3)是亮度分量,它的范圍是在[0,1]內%輸出圖像的分量是%rgb(:,:,1)為紅%rgb(:,:,2)為綠%rgb(:,:,3)為藍%提取HSI的各個分量hsi=im2double(hsi);%把hsi轉化為雙精度浮點類型H=hsi(:,:,1)*2*pi;S=hsi(:,:,2);I=hsi(:,:,3);%執(zhí)行變換方程R=zeros(size(hsi,1),size(hsi,2));G=zeros(size(hsi,1),size(hsi,2));B=zeros(size(hsi,1),size(hsi,2));%RG區(qū)(0<=H<2*pi/3)idx=find((0<=H) & (H<2*pi/3));%尋找0<=H<2*pi/3B(idx)=I(idx).*(1-S(idx));R(idx)=I(idx).*(1+S(idx).*cos(H(idx))./cos(pi/3-H(idx)));G(idx)=3*I(idx)-(R(idx)+B(idx));%BG區(qū)(2*pi/3<=H<4*pi/3)idx=find((2*pi/3<=H) & (H<4*pi/3));%尋找2*pi/3<=H<4*pi/3R(idx)=I(idx).*(1-S(idx));G(idx)=I(idx).*(1+S(idx).*cos(H(idx)-2*pi/3)./cos(pi-H(idx)));B(idx)=3*I(idx)-(R(idx)+G(idx));%BR區(qū)(4*pi/3<=H<=2*pi)idx=find((4*pi/3<=H) & (H<=2*pi));%尋找4*pi/3<=H<=2*piG(idx)=I(idx).*(1-S(idx));B(idx)=I(idx).*(1+S(idx).*cos(H(idx)-4*pi/3)./cos(5*pi/3-H(idx)));R(idx)=3*I(idx)-(G(idx)+B(idx));%將3個分量聯(lián)合成為一個RGB圖像rgb=cat(3,R,G,B);rgb=max(min(rgb,1),0);總結
以上是生活随笔為你收集整理的DIP第六章习题解答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DIP第四章习题解答
- 下一篇: DIP第九章习题解答