
图像处理
再学5分钟
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
灰度值为负?问题可能出在这里
最近做机器视觉实验的时候偶尔会出现灰度值为负的情况,但总是不了了之,刚刚我正写着新的报告的时候:没有办法,索性趁这次机会弄个明白,我的错误代码简化如下:IplImage* num; char str[100]; //存储路径 sprintf(str, "C:/Users/Faccy/Desktop/机器视觉/实验图片/8/8-1.bmp"); num = cvLoadImage(str, 0); int w = num->width, h = num->height; for (原创 2021-05-19 17:16:47 · 3622 阅读 · 1 评论 -
从零开始的OTSU阈值分割算法
OTSU阈值分割OTSU阈值分割,我们先直接讲操作:找到图像灰度值的最大和最小值。遍历最小值到最大值,以每一个值为阈值进行分割。找到使得式子:w0*w1*(u0-u1)*(u0-u1)的值最大的阈值,就是我们要找的最佳阈值。是不是觉得整个过程还是挺简单的?然后我们再来看看式子中的每个变量分别代表什么:在步骤3进行分割的时候,大于阈值的像素部分,我们称为前景;小于等于阈值的则称为背景。w0 :前景中的像素对于总像素数的占比。w1 :背景中的像素对于总像素数的占比。u0 :前景部分的像素原创 2021-05-12 11:17:28 · 2798 阅读 · 1 评论 -
迭代阈值分割
迭代阈值分割迭代阈值分割是通过迭代找出合适的阈值,再根据得到的阈值进行分割的方法。迭代找阈值的主要步骤:定义精度dt,即前后两个阈值的差值小于dt时认为找到了合适的阈值。定义初始阈值T0,一般用灰度均值。根据当前阈值T,大于T的灰度值分为一组,取其平均值m1;小于T的灰度值分为另一组,同样取其平均值m2 。得到新的阈值T = (m1 + m2) / 2 。重复步骤3和步骤4知道前后阈值差小于dt 。具体代码:(OpenCV)double dt = 5; //预定义阈值差(精度) do原创 2021-05-11 15:20:51 · 3448 阅读 · 1 评论