# 计算灰度方差
import cv2
import math
from math import sqrt
#0代表灰度图像
img_1 = cv2.imread(r'图片路径.jpg', 0)
#图像宽高
h, w = img_1.shape
x0 = round(w / 2)
y0 = round(h / 2)
#内切圆半径
if w > h:
R = round(h / 2)
else:
R = round(w / 2)
mean_g = 0.0
pixel = 0.0
for i in range(h):
for j in range(w):
if sqrt((j - x0) * (j - x0) + (i - y0) * (i - y0)) <= R:
pixel = pixel + img_1[i][j]
mean_g = pixel / (h*w)
print('内切圆均值 mean_g: ', mean_g)
s = 0.0
sum_s = 0.0
for i in range(h):
for j in range(w):
if sqrt((j - x0) * (j - x0) + (i - y0) * (i - y0)) <= R:
s = s + (img_1[i][j] - mean_g)**2
sum_s = s / (h*w)
print('内切圆方差 sum_s: ', sum_s)
Python 求图片内切圆的灰度值均值和方差
于 2024-01-16 09:59:02 首次发布