• 大小: 4KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签:

资源简介

在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

评论

共有 条评论

相关资源