当前位置:首页 > 资讯 > 正文

Opencv java模板匹配-角点检测(11)

在opencv中有模板匹配的方法, Imgproc.matchTemplate(src, template, result, Imgproc.TM_CCOEFF);

这个方法输入的参数分别是:

src 标识输入的原图

template标识模板图片

result 匹配的结果

Imgproc.TM_CCOEFF 标识匹配的方法

 

Opencv java模板匹配-角点检测(11)

上面我们通过一个简单的例子来演示了 matchTemplate

里面的method 可以选的项目有这些:

 
  • TM_SQDIFF = 0: 平方不同
  • TM_SQDIFF_NORMED = 1:归一化平方不同
  • TM_CCORR = 2:相关性
  • TM_CCORR_NORMED = 3:归一化相关性
  • TM_CCOEFF = 4:相关因子
  • TM_CCOEFF_NORMED = 5:归一化相关因子

上面我们用的是相关因子,我们用相关因子归一

Opencv java模板匹配-角点检测(11)

两种方法之间看不出来什么区别

不管那么多了,只要记住这个函数是模板匹配就行了

Opencv java模板匹配-角点检测(11)

如果原图进行了灰度化,那么模板也要进行灰度化,否则会出现下面的问题

 

效果:

Opencv java模板匹配-角点检测(11)

代码:

 

Imgproc.cornerHarris(src, dst2, blockSize, ksize, k);

src 输入图像

dst2 检测结果 不可以显示

blockSize:根据特征向量计算矩阵M的大小,常见取值为2

ksize:Sobel算子梯度计算 一般取值3

k:系数大小,取值范围为0.02-0.04

中文文字目前java的没找到相关的接口 ,如果各位大佬实现了中文字符的putText希望能评论一下

 

Imgproc.putText(img, text, org, fontFace, fontScale, color);

img 标识图片

text 标识输入的文本

org 文本写入点的位置

fontface 字体类型

fontScale字体大小

color 字体的颜色

Opencv java模板匹配-角点检测(11)

上面是对Opencv java的一个简单的应用,写到这个地方感觉感触很多,学习opencv,我们像是在学习一个工具,这个工具可以帮助我们做一些图像处理,无论我们在这个工具上做出什么样的花样,但是工具的本质并没有变化,而且我们的性质也没有变化,我们程序员不是创造者,而是一个工具使用者,我总是想摆脱这样的困境,但是发现自己的脑力不够用,我总希望自己能够做出点不同的的东西,但是发现自己不过是一个工具的使用者,但是真正的创造者在工具的后面,他们给出什么样子的功能我们才可以使用什么样子的功能,我们改如何改变这样的困局,是否真的是我们需要把基础打好,慢慢的提高自己的地基,就像是金字塔,我们什么时候能走到顶峰,下面是一片海洋。。。。

希望对你有所帮助,希望不做工具人

最新文章