Opencv入门


文章目录

  • Opencv入门
  • 一、Opencv基础知识
  • 1.1二值图像
  • 1.2灰度图像
  • 1.3彩色图像
  • 二、Opencv基本使用
  • 1.连通域标记
  • 2.图像二值化



一、Opencv基础知识

1.1二值图像

像素值为0和1或者0和255。通常作为像素标签使用。

1.2灰度图像

像素值:单通道,取值范围[0,255]。
0: 纯黑
255:纯白
部分图像算法中需要使用灰度图进行运算。

1.3彩色图像

RGB:色彩显示
HSV:色彩描述
YCBCr:视频数据
CMYK:印刷行业
灰度图像《==》RGB图像
Gray = R * 0.299+G * 0.587+B * 0.114。

二、Opencv基本使用

1.连通域标记

  1. Two-pass(等价表法)
    1.第一次遍历
    a.当像素[x,y]的领域(4-领域)的所有像素值都为0,则给[x,y]一个新的标签,并且标签累加1。
    b.当像素[x,y]的领域(4-领域)存在标签种类都大于1时,则给[x,y]一个领域中值最小的标签。
    c.当像素[x,y]的领域(4-领域)存在标签种类等于1时,则给[x,y]一个相同的标签。
    2.第二次遍历
    给所有的像素重新赋值,值为等价标中最小的值。
  2. Seed Filling(种子填充法)
    遍历
    当像素[x,y]为前景,则作为种子。给与一个标签,将后将与之相邻的前景像素全部给与相同的标签,重复该步骤。直到遍历结束。

2.图像二值化

目的通常为将图像的前后景进行分割,以便进行下一步处理。

可用于自动计件、文字识别。

python opencv 判断 灰度 opencv灰度值_图像处理


对于图中的像素[x,y],其灰度值为分f(x,y),设置门限值(阈值)为T。

合理的阈值应尽可能的分离前景和背景。

2.1P-tile法

需要预先获得图像中前景占完整画面的比值p%,依次累加灰度直方图,直到该累积值大于或等于前景图像(目标)所占面就,此时的灰度级即为所求的阈值。

python opencv 判断 灰度 opencv灰度值_计算机视觉_02


如果先验条件和实际情况相差较远,P-tile不适用。

3.最小误判概率

python opencv 判断 灰度 opencv灰度值_灰度图像_03


python opencv 判断 灰度 opencv灰度值_计算机视觉_04


python opencv 判断 灰度 opencv灰度值_计算机视觉_05


python opencv 判断 灰度 opencv灰度值_opencv_06


python opencv 判断 灰度 opencv灰度值_python opencv 判断 灰度_07

4.大津法(OTSU)

python opencv 判断 灰度 opencv灰度值_python opencv 判断 灰度_08


python opencv 判断 灰度 opencv灰度值_灰度图像_09