global area image=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转灰度 blur = cv2.GaussianBlur(image,( 5 , 5 ), 0 ) # 阈值一定要设为 0 !高斯模糊 ret3,th3 = cv2.threshold(blur, 0 , 255 ,cv2.THRESH_BINARY+cv2.THRESH_OTSU) # 二值化 0 = black ; 1 = white # cv2.imshow('image', th3) # a = cv2.waitKey(0) # print a height, width = th3.shape for i in range(height): for j in range(width): if th3[i, j] == 255 : area += 1 return area 贴部分代码#! /usr/bin/env python# -*- coding: utf-8 -*-import cv2import numpy as npfrom PIL import Imagearea = 0def ostu(img): global area image=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转... global area image=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转灰度 blur = cv2.GaussianBlur(image,(5,5),0) # 阈值一定要设为 0 !高斯模糊 ret3,th3 = cv2.threshold(blur,0,255,cv2.THR # # -*- coding:utf-8 -*- # # Author's_name_is_NIKOLA_SS # #pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ # #matplotlib.rcParams['font.family'] = 'SimHei' # 用来正常显示 文 # #plt.rcParams['axes.unicode_minus'] = Fal groundtruth = cv2.imread(groundtruth_path)[:, :, 0] h1, w1 = groundtruth.shape contours, cnt = cv2.findContours(groundtruth.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) if len(contours) != 1:#轮廓总数 continue M = cv2.moments(contours[0]) # 计算 第一条轮廓的各阶矩,字典形式 center 返回 Opencv - Python 教程 图像的像素级操作包括读某个或某些像素值、以及写像素值。因为在 OpenCV - Python 图像是以numpy数组形式表示的,所以可以使用下标索引的方式来访问像素。 1、numpy数组的访问 在做像素操作前需要先搞清楚下标索引的方法,下面以一个宽高为16×10的灰度图(单通道)为例。 在图片 x轴方向的大小为0~15,y轴方向的大小为0~9且是向下的,我们通常描述一个二维空间的
应用:图像特征提取 #include " opencv 2/highgui/highgui.hpp" #include " opencv 2/imgproc/imgproc.hpp" #include " opencv 2/core/core.hpp" #include #include #include "cv.h" #include "highgui.h" #include #includ