优化哈里斯角例子

简介: 优化哈里斯角例子。

优化哈里斯角
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('cube.jpg') #打开图像,默认为BGR格式
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #转换为灰度图像
gray = np.float32(gray) #转换为浮点类型
dst = cv2.cornerHarris(gray,8,7,0.04) #查找哈里斯角
r, dst = cv2.threshold(dst,0.01*dst.max(),255,0) #二值化阈值处理
dst = np.uint8(dst) #转换为整型
r,l,s,cxys = cv2.connectedComponentsWithStats(dst) #查找质点坐标
cif = (cv2.TERM_CRITERIA_EPS +
cv2.TERM_CRITERIA_MAX_ITER, 100, 0.001) #定义优化查找条件
corners = cv2.cornerSubPix(gray,
np.float32(cxys),(5,5),(-1,-1),cif) #执行优化查找
res = np.hstack((cxys,corners)) #堆叠构造新数组,便于标注角
res = np.int0(res) #转换为整型
img[res[:,1],res[:,0]]=[0,0,255] #将哈里斯角对应像素设置为红色
img[res[:,3],res[:,2]] = [0,255,0] #将优化结果像素设置为绿色
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) #转换为RGB格式
plt.imshow(img)
plt.axis('off')
plt.show() #显示检测结果

目录
相关文章
|
Serverless C语言 C++
【数学建模】利用C语言来实现 太阳赤纬 太阳高度角 太阳方位角 计算和求解分析 树木树冠阴影面积与种植间距的编程计算分析研究
【数学建模】利用C语言来实现 太阳赤纬 太阳高度角 太阳方位角 计算和求解分析 树木树冠阴影面积与种植间距的编程计算分析研究
266 1
|
6月前
|
计算机视觉
图像处理之给定任意四点不规则放缩
图像处理之给定任意四点不规则放缩
31 3
|
6月前
|
存储 Python
优化哈里斯角
【6月更文挑战第5天】优化哈里斯角。
42 7
|
6月前
|
算法 Python
二维矩形件排样算法之最低水平线搜索算法实现
二维矩形件排样算法之最低水平线搜索算法实现
197 0
|
7月前
|
算法 测试技术 C#
【数学】【计算几何】1453. 圆形靶内的最大飞镖数量
【数学】【计算几何】1453. 圆形靶内的最大飞镖数量
|
7月前
|
机器学习/深度学习 算法 C#
C# | 凸包算法之Jarvis,寻找一组点的边界/轮廓
这篇关于凸包算法的文章,本文使用C#和Jarvis算法来实现凸包算法。 首先消除两个最基本的问题: 什么是凸包呢? 凸包是一个包围一组点的凸多边形。凸多边形是指多边形中的每个内角都小于180度的多边形。 凸包算法有什么用呢? 凸包算法的作用是找到这个凸多边形,并且使用最少的点来绘制出它的轮廓。凸包算法在计算机图形学、计算几何和机器学习等领域中有着广泛的应用。
86 0
|
机器学习/深度学习 传感器 安全
基于matlab模拟给定参数下的平凸透镜的凸面轮廓曲线
基于matlab模拟给定参数下的平凸透镜的凸面轮廓曲线
|
机器学习/深度学习 数据挖掘 计算机视觉
【CDBS】凹边界的修改形状特征描述:应用于皮肤病变分类(Matlab代码实现)
【CDBS】凹边界的修改形状特征描述:应用于皮肤病变分类(Matlab代码实现)
|
机器学习/深度学习 传感器 算法
基于 Ekman 方程求解大气边界层中的水平均匀流和高度相关的涡流粘度附matlab代码
基于 Ekman 方程求解大气边界层中的水平均匀流和高度相关的涡流粘度附matlab代码