opencv不同环境下output不一致的一种场景
现象 opencv在c++和python中得到的结果不一致,即使是相同的语言相同的环境也可能得到不同的结果。 在做一个视觉项目时,其中有使用opencv,开发过程中我会先使用python写出基本的代码进行测试,可行的话再用c++(qt)复写一遍,本机测试完成后上传到服务器实机测试,一开始开发过程还算正常,后面就发现,服务器上有些图片识别的有问题,遂将有问题的 …
Archive
现象 opencv在c++和python中得到的结果不一致,即使是相同的语言相同的环境也可能得到不同的结果。 在做一个视觉项目时,其中有使用opencv,开发过程中我会先使用python写出基本的代码进行测试,可行的话再用c++(qt)复写一遍,本机测试完成后上传到服务器实机测试,一开始开发过程还算正常,后面就发现,服务器上有些图片识别的有问题,遂将有问题的 …
问题发现 被拍摄的物体由于不均匀光照可能对二值化结果产生较大影响,例如我希望通过二值化方法提取滤芯中间的图形: 因为光照的不均匀,导致图片左下角明显比右上角更亮,加上不合理的二值化阈值,导致中间图形未封闭。进而影响轮廓检测。 解决方案 分块二值化 思路:将整个图形切分为多个部分,对每个部分选取不同的阈值进行二值化,最后组合在一起。 提升对比度 有三种方式:提 …
photoshop中对曝光度有三个可以设置的参数,他们分别是曝光度(Exposure),位移(Offset),灰度系数校正(Gamma) 灰度图 本文以灰度图举例,灰度图是一种单通道图,相比rgb三通道图更简单,更容易理解。 rgb是一种三原色,任何颜色都能由这三种颜色依不同比例混合而成,所以对彩色图片上任意一个像素点都是一个代表这三个颜色强度的长度为3的数 …
这两篇文章讲的挺好 …
假设笛卡尔坐标系中有n个点,每个点坐标为 \( (x_i, y_i) \),且这些点大致拟合成一条直线,问:如何找到这条直线? 霍夫空间 对于每个点 \( (x_i, y_i) \) 都有无数条直线 \(y_i=kx_i+b\) 过该点。由k和b唯一确定该条直线,若将 \((k,b) \) 看作一个坐标,则该坐标点即为霍夫空间下的坐标。霍夫空间可以看作是原函 …
我们希望能用很少的几个特征代表一个图形,这些特征不因图形在图像中所在的位置、旋转角度、缩放比例的改变而改变,也不应受光照、噪点等影响。经过计算机视觉多年的发展,已经发现了很多这样的特征, 不变矩就是其中一个。 统计学中的矩 图像的几何矩 将图像的像素坐标看作是二维随机变量,像素的灰度值看作是概率,就可以套用统计学中的矩作为图像的几何矩。 原点矩:\( …
一维函数 f(x) 的傅里叶变换: 任何周期函数都可以通过多个正弦波的叠加表示 图像(二维函数)的傅里叶变换有两种理解方式: 任何图像 f(x,y) 也都可以由无数个正弦波平面叠加而成,他们具有不同的 频率、相位、振幅、方向 四个属性 对图像的每一行每一列做一维傅里叶变换 图像的傅里叶图谱: 可以根据傅里叶图谱还原图像 傅里叶图谱只能表示频率、方向、振幅三个 …