OpenCV-Day-010:图像像素值统计

代码

import cv2 as cv
import numpy as np

src = cv.imread('./bird.jpg', cv.IMREAD_GRAYSCALE)
cv.imshow('input', src)
# 最大最小值和相应的位置
min, max, minLoc, maxLoc = cv.minMaxLoc(src)
print('min:%.2f,max:%.2f,' % (min, max))
print('minLoc:', minLoc)
print('maxLoc', maxLoc)
# 均值和标准差
mean, std = cv.meanStdDev(src)
print('mean:%.2f,std:%.2f' % (mean, std))
# 二值化
src[np.where(src < mean)] = 0
src[np.where(src > mean)] = 255
cv.imshow('binary', src)

cv.waitKey(0)
cv.destroyAllWindows()

实验结果

在这里插入图片描述

解释

一、均值和标准差,cv.meanStdDev()

mean, std = cv.meanStdDev(src)

二、最大最小值和相应的位置cv.minMaxLoc()

min, max, minLoc, maxLoc = cv.minMaxLoc(src)
print(‘min:%.2f,max:%.2f,’ % (min, max))
这里需要注意,python中print打印两个变量时的格式问题,最常见的就是把这个%符号忘掉

三、np.where()

实际上读取的灰度图像是numpy数组,所以,可以直接用np.where()

发布了197 篇原创文章 · 获赞 35 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/PoGeN1/article/details/90543996