- 博客(30)
- 资源 (10)
- 收藏
- 关注
原创 python调用c dll
ctypes 是 Python 的外部函数库。它提供了与 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。
2022-12-15 12:56:30 2410
原创 CMake交叉编译工具编写
在嵌入式设备应用时,需要在X86架构下编译板卡需要的ARM架构的文件,需要配置交叉编译器等来完成。这时就需要编写.cmake文件来实现配置
2022-12-12 15:01:51 1252
原创 python代码保护,生产pyd格式
python的脚本开源,代码安全性没有保障,因此需要混淆、加密。python有py、pyc、pyw、pyo、pyd等文件格式。其中pyd格式格式不容易被反编译.新建test.py输入def helloworld(): print("Hello world")再新建setup.pyfrom distutils.core import setupfrom Cython.Build import cythonizesetup( name = 'Hello world', ex
2022-03-08 20:02:07 923
原创 如何检测棋盘格
摄像机标定是机器视觉的最基础和重要的技术之一,而棋盘格经常用来作为相机标定的标定物,大家常用一些标定工具(如OpenCV)来检测棋盘格,但很少有人知道其内在的检测原理,现在小编就为大家简要讲解一种检测方法.
2016-11-29 22:49:39 2847
原创 文章标题
需求:直线检测 目的:实现Hough变换 思路:y = kx + b变换成p = xcos(a) + ysin(a)#include "cv.h"
2016-01-10 21:03:33 519
原创 读取条空比例
对于一组01数据,计算它的宽度,以1为开头。#include <iostream>using name space std;int main(){ int message[] = { 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1}; int size = sizeof(message) / s
2015-12-29 10:56:21 584
原创 高斯差分边缘检测算子(Dog)
高斯差分与高斯拉普拉斯相似,都是先经过高斯平滑,再做差分,但这两个过程可结合成一起。高斯差分算子如下: 取sigma1 = 0.2, sigma2 = 0.8,离散化则 【-0.1045 -0.2283 -0.1045 -0.2283 1.4960 -0.2283 -0.1045 -0.2283 -0.1045 】 取整,并使模板总和为0,则
2015-12-14 23:59:08 14427 2
原创 高斯拉普拉斯边缘检测算子(LOG)
图像边缘可表示为一阶过极点或二阶过零点. 拉普拉斯算子表示为d2f = a2f / a2x + a2f / a2y 由于噪声点对边缘检测影响较大,所以由高斯滤波和拉普拉斯算子结合,形成高斯拉普拉斯算子。 由高斯函数根据拉普拉斯算子的公式求导可得 离散化,取sigma为1.0,则5x5模块为 {0.0175 0.0392 0.0431 0.0392 0.0175
2015-12-14 00:26:10 17881 7
原创 计算两直线交点
对于两直线a1*x + b1*y = c1, a2*x + b2*y = c2由克莱姆法则得,D = a1 * b2 - b1*a2, D1 =c1*b2 - b1*c2, D2 = a1*c2 - c1*a2解得交点: x = D1 / D, y = D2 / D直线方程用两点法可表示为 (y2 - y1)*x - (x2 - x1)*y = x1*(y2 - y1) - y1*(x2 - x1)a = (y2 - y1), b = - (x2 - x1), c = x1*(y2 - y1)
2015-12-07 09:42:23 1286 1
原创 Roberts边缘检测
函数的梯度为df = af/ax * ix + af/ay * iy图像梯度即为梯度的模, df = sqrt((af/ax) ^ 2 + (af/ay) ^ 2)为简化计算过程,可表示为 df = | af/ax | + | af/ay Roberts算子是Roberts1963年提出的,他利用对角方向相邻的两个像素之差来近似差分。该算子边缘定位准,但对噪声敏感。Roberts算子表达式如下:G[i,j] = | f[i , j ] - f[ i + 1, j + 1 ] | + | f[ i
2015-12-06 22:32:25 5856
原创 迭代阈值法
通过迭代方法选择阈值, 计算方法如下:(1)选择灰度图的平均值作为初始阈值T0 ;(2)计算小于等于T0的平均值T1, 和大于T0的平均值T2;(3)新的阈值为T = (T1 + T2)/ 2;(4)比较T和T0,若相等,则返回T,即为迭代阈值; 否则 T0 = T,重复(1)-(3)
2015-12-06 21:13:36 14480 5
原创 Otsu阈值化
1979年日本大津展之提出了Otsu阈值法,他根据类间方差最大将灰度图分为目标和背景。 方法如下: 若一张灰度图有n个像素, 取阈值为t, 小于t的个数为n1, 大于t的个数为n2, 小于t的像素平均值为m1, 大于t的像素平均值为m2, 权重w1 = n1 / n, w2 = n2 / n, 类间方差 = w1 * w2 * (m1 - m2) ^ 2 遍历每一个阈值,计算每一个类间方差,使类间方差最大的阈值,即为所求阈值。
2015-12-06 12:25:23 1291 2
原创 计算直线方程
根据(y - y1) / (y2 - y1) = (x - x1) / (x2 - x1)计算方程方程为(y2 - y1)x - (x2 - x1)y - x1(y2 - y1) + y1(x2 - x1) = 0
2015-12-01 17:02:54 1025
原创 边缘方向直方图
边缘方向直方图1、图像灰度化2、canny算法获得边缘图3、用sobel算子求灰度图像x、y方向梯度dx和dy4、计算各个像素的边缘方向theta(x,y) = atan(dy/dx)5、将边缘方向值进行量化,从-90-90量化到0-366、将边缘方向theta进行直方图统计并归一化
2015-11-30 00:12:55 5695
原创 OpenCV单目平面测距
单目测距广泛运用于车辆道路障碍物识别、机器人导航等领域,是计算机视觉中的重要技术之一。众所周知的是,图像中的像素坐标只提供了二维信息,而空间坐标是三维信息,因此只能让空间坐标中的一维为0或固定值,才可以测得平面距离信息,因此单目测距主要是针对空间中的平面坐标。摄像机模型如图1所示:图1 摄像机模型 由摄像机模型,可知
2015-08-30 23:49:05 23381 23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人