- 博客(15)
- 资源 (10)
- 收藏
- 关注
原创 读取条空比例
对于一组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 567
原创 高斯差分边缘检测算子(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 14290 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 17726 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 1206 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 5641
原创 迭代阈值法
通过迭代方法选择阈值, 计算方法如下:(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 14249 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 1268 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 1007
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人