Opencv学习笔记——图像像素值的统计

以下均为github上opencv的个人学习笔记,原路径如下:

https://github.com/JimmyHHua/opencv_tutorials

源码示例:

import cv2 as cv 
import numpy as np

src = cv.imread("./test.png",cv.IMREAD_GRAYSCALE) //为了统计图像像素的值,这里需要将BGR图像转换成灰度图。
cv.namedWindow("input",cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)

min, max, minLoc, maxLoc = cv.minMaxLoc(src) //函数minMaxLoc查找最小和最大元素值及其位置,并返回双精度的值(Double类型)。这里用来获取灰度图像中像素最大与最小元素值(min,max表示)及其相应的位置(minLoc,maxLoc)
print("min:%.2f, max:%.2f" %(min,max)) //打印最大最小元素值
print("min loc:", minLoc) //打印最小元素值的位置
print("max loc:", maxLoc) //打印最大元素值得位置

means,stddev = cv.meanStdDev(src) //函数meanStdDev用来计算一维矩阵的均值和标准偏差,means代表均值,stddev代表标准差,返回双精度值(Double类型)
print("mean: %.2f,stddev: %.2f" %(means,stddev))
src[np.where(src<means)] = 0  //小于均值的像素值均归零(黑色),这里用到了np.where的对比函数
src[np.where(src>means)] =255 //大于均值的像素值均归赋值为255(白色),这里用到了np.where的对比函数
cv.imshow("binary", src)


cv.waitKey(0)
cv.destroyAllWindows()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章