文章目录

  • 前言
  • 一、检测LoG斑点的Matlab源程序
    • 1.提取斑点
    • 2.绘制特征点
    • 3.读入数据
  • 二. 函数了解
  • 三,
  • ——《Matlab图像处理——能力提升与应用案例》

前言

斑点是数字图像的主要特征。斑点通常是指与周围有着颜色和灰度差别的区域。
斑点检测是区域检测的一种特例,是许多特征生成、目标识别等方法的重要预处理环节。

一、检测LoG斑点的Matlab源程序

1.提取斑点

功能函数如下:

function [points]=log_Blob(img,o_nb_blobs)
%功能:提取LoG斑点
%输入:img-输入的图像   o_nb_blobs-需要检测的斑点区域的数量
% 输出:points-检测出的斑点%输入图像
img=double(img(:,:,1));
%设定检测到斑点的数量
if nargin==1   %函数输入参数个数nb_blobs=120;
elsenb_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(img,1);
img_width=size(img,2);
%计算尺度规范化高斯拉普拉斯算子
snlo=zeros(img_height,img_width,sigma_nb);
for i=1:sigma_nbsigma=sigma_array(i);snlo(:,:,1)= sigma* sigma*imfilter(img,fspecial('log',floor(6* sigma+1), sigma),'replicate');
end
%搜索局部极值
snlo_dil=imdilate(snlo,ones(3,3,3));
blob_candidate_index=find(snlo==snlo_dil);
blob_candidate_value=snlo(blob_candidate_index);
[tmp,index]=sort(blob_candidate_value,'descend');
blob_index=blob_candidate_index(index(1:min(nb_blobs,numel(index))));
[lig,col,sca]=ind2sub([img_height,img_width,sigma_nb],blob_index);
points=[lig,col,3*reshape(sigma_array(sca),[size(lig,1),1])];
end

2.绘制特征点

代码如下:

function draw(img,pt,str)
% 功能:在图像中绘制出特征点
% 输入:img-输入的图像  pt-检测出的特征点的坐标  str-在图上显示的名称
figure('Name',str);
imshow(img);
hold on ;
axis off ;
switch size (pt,2)  case 2s=2;for i=1:size(pt,1)rectangle('Position',[pt(i,2)-s,pt(i,1)-s,1*s,1*s],'Curvature',[0 0],'EdgeColor','b','LineWidth',2);endcase 3for i=1:size(pt,1)rectangle('Position',[pt(i,2)-pt(i,3),pt(i,1)-pt(i,3),2*pt(i,3),2*pt(i,3)],'Curvature',[1 1],'EdgeColor','r','LineWidth',2);end
end
end

3.读入数据

调用函数进行处理:

img=imread('2.jpg');
imshow(img)
pt=log_Blob(rgb2gray(img));
draw(img,pt,'LoG Lindeberg');

二. 函数了解

r=size(A,1) 该语句返回的是矩阵A的行数;c=size(A,2) 该语句返回的是矩阵A的列数。

rectangle(‘Position’, pos) 在二维坐标中创建一个矩形。将pos指定为数据单元中形式为[x y w h]的四元素向量。x和y元素决定位置,w和h元素决定大小。函数绘制到当前坐标轴中,而不清除坐标轴中现有的内容。
rectangle(‘Position’,pos,‘Curvature’,cur) 为矩形的边添加曲率。对于沿水平和垂直方向的不同曲率,将cur指定为形式[horizontal vertical]的二元矢量。对于沿所有边相同长度的曲率,将cur指定为标量值。指定0(无曲率)和1(最大曲率)之间的值。使用[1 1]创建一个椭圆或圆。
rectangle(, Name, Value) 使用一个或多个Name - Value对参数指定矩形属性。例如,‘FaceColor’, 'red’指定一个红色填充颜色。
rectangle (ax, _) 在ax指定的坐标轴中创建矩形,而不是在当前坐标轴(gca)中创建矩形。在前面的语法中,选项ax可以放在任何输入参数组合之前。r= rectangle()返回矩形对象。创建矩形后,使用r修改矩形的属性。
*g = imfilter(f, w, filtering_mode, boundary_options, size_options) 其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定 *

三,

https://blog.csdn.net/billzhaobaigu/article/details/117000683
https://blog.csdn.net/fengxianghui01/article/details/89474461高斯滤波


——《Matlab图像处理——能力提升与应用案例》

<个人学习记录>斑点检测相关推荐

  1. python小括号报错_Python学习记录:括号配对检测问题

    Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...

  2. 【opencv学习】Blob检测斑点

    今天学习blob的可用于斑点检测,其实这个斑点只是普通的这么叫法,专业点是的Blob是图像中共享某些共同属性(例如灰度值)的一组连接的像素. 如下图是今天检测的试验图 算法过程是: 1:Thresho ...

  3. CVPR2019| 百度17篇CVPR论文学习记录(包含:无人驾驶、神经网络、GAN、无监督学习、目标检测)

    首先感谢现在网上资源丰富,能够获得很多人的总结,结合自身实际进行了学习记录. 并着重标注了其中关键核心 目录 1)Taking A Closer Look at Domain Shift: Categ ...

  4. OpenCV3学习(11.4)斑点检测 SimpleBlobDetector

    1. 什么是斑点 图像特征点检测包括角点和斑点,今天来说说斑点,斑点是指二维图像中和周围颜色有颜色差异和灰度差异的区域,因为斑点代表的是一个区域,所以其相对于单纯的角点,具有更好的稳定性和更好的抗干扰 ...

  5. Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)

    Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...

  6. Android开发技术周报176学习记录

    Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...

  7. Redis的学习记录

    Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...

  8. php+打开文件和其子文件,【php学习记录】 引用、打开文件

    [php学习记录] 引用.打开文件 一.PHP echo 和 print 语句 echo 和 print 区别: echo - 可以输出一个或多个字符串 print - 只允许输出一个字符串,返回值总 ...

  9. 小余学调度:学习记录(2022年1月)

    提 小余学调度系列文章,记录小余同学入职电力调度员一路的学习记录,由于工作性质,在这个系列,只写能公开的知识点,不涉及机密. 提示:专栏解锁后,可以查看该专栏所有文章 文章目录 1母线充电保护操作票 ...

  10. 小余学调度:学习记录(2021.8.30-2021-9.5)

    小余学调度系列文章,记录小余同学入职电力调度员一路的学习记录,由于工作性质,在这个系列,只写能公开的知识点,不涉及机密. 提示:专栏解锁后,可以看这个专栏所有文章,划算. 文章目录 一.如何从接线图中 ...

最新文章

  1. Linux内核学习总结
  2. 专访DeepID发明者孙祎:关于深度学习与人脸算法的深层思考
  3. 【Java HashMap】常用函数的使用
  4. 使用Google Guice消除实例之间的歧义
  5. 听说做开发的工资随随便便就上10k?
  6. 并不对劲的bzoj5340:loj2552:uoj399:p4564: [Ctsc2018]假面
  7. fiddler无法抓取浏览器的https请求
  8. 折腾!在树莓派上运行DOS
  9. 【BERT-多标签文本分类实战】之四——数据集预处理
  10. 中国AI公司会议室取名简史
  11. socket套接字编程 | 粘包现象 | 报头 | struck模块
  12. [激光原理与应用-25]:《激光原理与技术》-11- 激光产生技术-非线性技术之激光倍频、非线性晶体CLBO、BBO、LBO
  13. Python面向对象:小明和小美爱跑步
  14. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】
  15. 小身材也有强劲性能,树莓派2代B型图形界面搞机
  16. CometOJ #10 沉鱼落雁 | 思维
  17. 条理清晰的入门:使用Java实现RSA加密解密
  18. 移动端电影院:享受触手可及的幸福
  19. 电商物流系统技术架构进化史
  20. Python安装配置: python install python安装

热门文章

  1. windows server 2008r2更新server pack 1补丁包和勒索病毒nsa,永恒之蓝 补丁包
  2. python实现比较两手牌的大小--斗地主规则
  3. 如何确立人生目标?100个人生目标清单总汇
  4. 厦门大学353卫生综合考研参考书目
  5. Win10禁止更新设备驱动的几种方式
  6. linux oel7没有网络,OEL7.2下Oracle11.2.0.4RAC部署
  7. zh-CN、zh-Hans区别
  8. 程序员数学(23)–图形的旋转与中心对称
  9. access用姓名字段统计人数_用Access统计新生数据
  10. 运营面试问题和答案(一)