资源简介
log算法检测斑点程序,程序可读性好,检测结果不错,可自行加载图片进行检测
代码片段和文件信息
function [points] = log_Blob(imgo_nb_blobs)
% 功能:提取LoG斑点
% 输入:
% img –输入的图像
% o_nb_blobs -需要检测的斑点区域的数量
% 输出:
% points -检测出的斑点
% 参考文献:
% Lindeberg T. Feature Detection with Automatic Scale Selection
% IEEE Transactions Pattern Analysis Machine Intelligence 1998 30
% 77-116
% 输入图像
img = double(img(::1));
% 设定检测到斑点的数量
if nargin==1
nb_blobs = 120;
else
nb_blobs = o_nb_blobs;
end
% 设定LoG参数
sigma_begin = 2;
sigma_end = 15;
sigma_step = 1;
sigma_array = sigma_begin:sigma_step:sigma_end;
sigma_nb = numel(sigma_array);
% 变量
img_height = size(img1);
img_width = size(img2);
% 计算尺度规范化高斯拉普拉斯算子
snlo = zeros(img_heightimg_widthsigma_nb);
for i=1:sigma_nb
sigma = sigma_array(i);
snlo(::i) = sigma*sigma*imfilter(imgfspecial(‘log‘ floor(6*sigma+1) sigma)‘replicate‘);
end
% 搜索局部极值
snlo_dil = imdilate(snloones(333));
blob_candidate_index = find(snlo==snlo_dil);
blob_candidate_value = snlo(blob_candidate_index);
[tmpindex] = sort(blob_candidate_value‘descend‘);
blob_index = blob_candidate_index( index(1:min(nb_blobsnumel(index))) );
[ligcolsca] = ind2sub([img_heightimg_widthsigma_nb]blob_index);
points = [ligcol3*reshape(sigma_array(sca)[size(lig1)1])];
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1636 2012-02-05 19:59 log_Blob.m
----------- --------- ---------- ----- ----
1636 1
相关资源
- 基于Matlab的最大熵模糊图像复原算法
- KITTI雷达点云与图像数据融合matlab源码
- matlab 解码 NMEA0183格式GGA数据
- 一个有关飞机的模板匹配的跟踪的m
- 基于MATLAB的电弧模型仿真
- PRI信号分选
- Matlab论文:基于Matlab的二进制数字调
- 802.11协议吞吐量随节点数性能仿真
- matlab图片rgb转yuv,存.yuv文件 播放器
- Duda模式分类Pattern Classification MATLAB 代
- dijkstra算法的matlab实现31274
- 随机路径生成函数matlab
- matlab语音信号处理工具箱
- matlab2013激活文件
- matlab实现游程编码
- 暗通道先验+引导滤波MATLAB代码
- 边缘检测中的canny算法及其matlab实现
- 通过达曼光栅生成点阵的matlab程序.
- MATLAB核函数算法
- 求控制系统的性能指标MptrtsFAI,matl
- matlab 求DTFT
- 逆变器重复控制算法MATLAB仿真
- MATLAB R2014b 许可协议文件
- matlab读取comtrade格式的程序
- 基于Matlab的RC一阶电路仿真
- Las点云数据读取代码
- 雷达回波加天线方向图模拟程序
- MATLAB 2017b 安装文件及其破解文件百度
- Matlab实现音频降噪
- matlab实现导航卫星系统中计算多普勒
评论
共有 条评论