global
area
image=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(image,(
5
,
5
),
0
)
ret3,th3 = cv2.threshold(blur,
0
,
255
,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
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