資源簡介
在MATLAB中的特征線提取程序;對圖像進行中值濾波;利用canny算子,進行邊緣提取
代碼片段和文件信息
clear?all;
close?all;
clc;
%%%%%%%%%%
RGB?=?imread(‘P3.bmp‘);??%%??讀數據
[row?colum]=size(RGB);????%獲取圖像的尺寸
if?row?<=?colum??%?找圖像長寬的最小值
????N?=?row;
else
????N?=?colum;
end
RGB=imcrop(RGB[0?0?N?N]);?????%對圖像進行剪切,獲得滿足要求的圖像
J?=?rgb2gray(RGB);???%%?轉化為灰度圖
I=medfilt2(J);???????%%?對圖像進行中值濾波,去掉刻度
I=medfilt2(I);???????%%?對圖像進行中值濾波,去掉刻度
I=medfilt2(J);???????%%?對圖像進行中值濾波,去掉刻度
I=medfilt2(I);???????%%?對圖像進行中值濾波,去掉刻度
I=medfilt2(J);???????%%?對圖像進行中值濾波,去掉刻度
BW?=?edge(I‘canny‘);???%?利用canny算子,進行邊緣提取,提取后只有0和1了
[HTR]?=?hough(BW);????%?對二值圖進行hough變換,H是變換后矩陣,T是角度,R是距離
peaks?=?houghpeaks(H10);??%??找出其中hough變換陣的峰值,相當于亮點,返回矩陣,依次存儲峰值的橫縱坐標?
subplot(233);
imshow(RGB[]);
hold?on;
lines?=?houghlines(BWTRpeaks);?%?利用前面兩個hough函數的結論,找到直線信息,返回為結構體數組,存儲了直線的信息
for?k?=?1
- 上一篇:最小二乘影像匹配
- 下一篇:高斯信道下交織對誤碼率的影響
評論
共有 條評論