(一)實驗型別: 研究
(二)實驗目的:
1、培養應用matlab開發影象處理演算法的能力。
2、掌握開發綜合性影象演算法的技能與方法。
(三)實驗內容:
彈孔中心位置的影象處理方法。
(四)實驗要求:
開發出演算法及程式**,並獲得處理結果。
其基本原理是,先對影象進行邊緣檢測,後應用數學形態學的方法將邊緣連線在一起,後填充,應用數學形態學方法對分割彈孔圓形化,再進行邊緣檢測獲得彈孔邊緣,最後應用最小二乘法擬合圓心的方法,獲得彈孔中心。
實驗過程:
開啟matlab軟體,在open中選擇我們在軟體中設計好的演算法程式。
clear;
close all;
i0=imread('');
%i0=rgb2gray(i3);
[x,y,z]=size(i0);
%i6=im2bw(i3,0.4);
i4=edge(i0,'canny',0.1);
bw=strel('disk',1);
bw2=strel('disk',1);
i5=imdilate(i4,bw);
i6=imfill(i5,'holes');
i7=imdilate(i6,bw2);
bw3=strel('disk',3);
i8=imerode(i7,bw3);
i81=imfill(i8,'holes');
bw4=strel('disk',7);
i9=imerode(i81,bw4);
bw5=strel('disk',7);
i10=imopen(i9,bw5);
figure(1),imshow(i0);
figure(2),imshow(i4);
figure(3),imshow(i5);
figure(4),imshow(i6);
figure(5),imshow(i7);
figure(6),imshow(i8);
figure(7),imshow(i9);
figure(8),imshow(i10);
hold on;
boundaries = bwboundaries(i5);
[mun1,mun2]=size(boundaries);
for k=1:mun1
b = boundaries;
plot(b(:,2),b(:,1),'g','linewidth',3);
hold on;
bt1=b(:,1);
bt2=b(:,2);
[cir_x,cir_y,radis]=circlefitting(bt1,bt2);
plot(cir_y,cir_x,'r*','linewidth',3);
end然後選擇run。軟體則會根據我們編輯好的演算法對目標**進行彈孔輪廓提取,顯示出計算好的**如下:
(一)實驗型別: 研究
(二)實驗目的:
1、培養應用matlab開發影象處理演算法的能力。
2、掌握開發綜合性影象演算法的技能與方法。
(三)實驗內容:
色彩目標提取影象處理應用例項。
(四)實驗要求:
開發出演算法及程式**,並獲得處理結果。
應用理論:色彩變換
色彩變換原理,減色合成法:人眼看到物體的顏色是由於物體反**物體顏色相同的光。光白光(三原色的混合體)照到物體上時,物體只把它自己的顏色對應的光線反射出來,其它的色光被吸收,即從白光中「減」去物體沒有的顏色。
這種情況叫減色合成。品紅會吸收綠色,反射紅色光和藍色光。黃色會吸收白光中的藍色,反射紅色光和綠色光。
青色會吸收白光中的紅色,反射綠色和藍色。(色度在附近時為紅色,附近為綠色,附近為蘭色)
將原圖進行如下編輯程式進行運算我們可得到色彩變換結果
程式如下:
clear;%清除工作區內所有的變數
close all;%關閉所有的figure
%global i j y c1 c2 sat hue;
iinp=imread('');
[ysize,xsize,zsize]=size(iinp);
m_inty=0.5;
m_hue=200;
m_sat=1;
for j=1:ysize
for i=1:xsize
image_r(j,i)=iinp(j,i,1);
image_g(j,i)=iinp(j,i,2);
image_b(j,i)=iinp(j,i,3);
y(j,i)=double(0.0);
c1(j,i)=double(0.0);
c2(j,i)=double(0.0);
sat(j,i)=double(0.0);
hue(j,i)=double(0.0);
endend%由rgb變成色差訊號
[y,c1,c2]=rgb_to_yc(image_r,image_g,image_b,xsize,ysize);
%由色差訊號計算飽和度和色相
[sat,hue]=c_to_sh(c1,c2,xsize,ysize);
%亮度飽合度色調的調整
[out_y,out_sat,out_hue]=change_ysh(y,sat,hue,m_inty,m_sat,m_hue,xsize,ysize);
%由色調和飽合度計算色差訊號
[m_c1,m_c2]=sh_to_c(out_sat,out_hue,xsize,ysize);
%由亮度色差變換rgb訊號
[out_r,out_g,out_b]=yc_to_rgb(out_y,m_c1,m_c2,xsize,ysize);
for j=1:ysize
for i=1:xsize
iout(j,i,1)=out_r(j,i);
iout(j,i,2)=out_g(j,i);
iout(j,i,3)=out_b(j,i);
endendfigure(1),imshow(iinp);
figure(2),imshow(image_r);
figure(3),imshow(image_g);
figure(4),imshow(image_b);
figure(5),imshow(iout);
執行程式後得到如下**:
實驗結果分析:
基於yuv彩色系統的灰度影象著色方法--用彩色參考圖著色
假定相鄰的畫素之間如果有相似的y 值,那麼就會有相似的u 和v 值;視覺上對u 、v 變化的不敏感性,同時假定同類色中顏色的區別主要是y 值作用的結果。
基本原則:1)彩色影象中u、v 值顯著改變的臨界線, 也是y 值顯著改變的臨界線;
2)同類色中相近顏色的區別在視覺上主要是y 值作用的結果
例項2、彩色目標提取,(原理與色彩變換相同,應用影象畫素的點的色度進行判別,色度在附近時為紅色,附近為蘭色,附近為綠色)
我們根據變換遠離編輯出如下程式:
clear;%清除工作區內所有的變數
close all;%關閉所有的figure
%global i j y c1 c2 sat hue;
xsize=640;
ysize=480;
m_inty=1;
m_hue=0;
m_sat=2;
y(1:xsize,1:ysize)=double(0.0);
c1(1:xsize,1:ysize)=double(0.0);
c2(1:xsize,1:ysize)=double(0.0);
sat(1:xsize,1:ysize)=double(0.0);
hue(1:xsize,1:ysize)=double(0.0);
%path1= sprintf('red%',k);
iinp=imread('');
image_r(:,:)=iinp(:,:,3);
image_g(:,:)=iinp(:,:,2);
image_b(:,:)=iinp(:,:,1);
%由rgb變成色差訊號
[y,c1,c2]=rgb_to_yc(image_r,image_g,image_b,xsize,ysize);
基於MATLAB的影象平滑演算法實現及應用
1.3 影象雜訊 一幅影象在獲取和傳輸等過程中,會受到各種各樣雜訊的干擾,其主要 有三 一為在光電 電磁轉換過程中引入的人為雜訊 二為大氣層電 磁 暴 閃電 電壓 浪湧等引起的強脈衝性衝激雜訊的干擾 三為自然起伏性雜訊,由物理量的不連續性或粒子性所引起,這類雜訊又可分成熱雜訊 散粒雜訊等。一般在影象...
MATLAB影象處理相關函式
一 通用函式 colorbar 顯示彩色條 語法 colorbar colorbar vert colorbar horiz colorbar h h colorbar colorbar peer axes handle getimage 從座標軸取得影象資料 語法 a getimage h x,y...
如何處理算理和演算法的關係
算理是演算法的基礎,是演算法的思維方式。演算法是算理的抽象,是對算理的一種表達形式或書寫格式,是計算的方法 程式,我認為片段中老師是這樣處理算理和演算法的關係的 1 用多 出示情境圖讓學生從圖中找出資訊和問題,並列出算式23x12,讓學生說算式的意義。2 估算出現三種情況20x10約等於200 23...