资源简介
在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
- 上一篇:最小二乘影像匹配
- 下一篇:高斯信道下交织对误码率的影响
评论
共有 条评论