栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

图像阈值程序

Python 更新时间:发布时间: 百科书网 趣学号

阈值测试程序,读取相邻两张图片,将其转为HSV后,采用inrange阈值函数进行二值化,最后统计白色像素点的个数。或者直接RGB通道进行阈值分割。

//
#include "stdafx.h"
#include "opencv2/opencv.hpp"  
#include     
#include
#include 
#include   
#include   
#include 
#include
#include

#include 
#include 
// for fileoutput
#include 
#include 

using namespace cv;
using namespace std;

int bSums(Mat src)
{

	int counter = 0;
	//迭代器访问像素点
	Mat_::iterator it = src.begin();
	Mat_::iterator itend = src.end();
	for (; it != itend; ++it)
	{
		if ((*it) > 0) counter += 1;//二值化后,像素点是0或者255
	}
	return counter;
}

//
Mat frame, frame1, imgThresholded, hsv, diff;  //定义矩阵


int main(int argc, char** argv)
{

	frame = imread("G:\研三资料\2021.10月汇报\阈值测试\vs\云彩图\8.jpg");
	frame1 = imread("G:\研三资料\2021.10月汇报\阈值测试\vs\云彩图\8_1.jpg");
	absdiff(frame, frame1, diff);
	imshow("frame1", diff);
	imwrite("G:\研三资料\2021.10月汇报\阈值测试\vs\云彩图\8_81diff.jpg", diff);
	cvtColor(diff, hsv, CV_BGR2HSV);
	imshow("frame0", hsv);
	imwrite("G:\研三资料\2021.10月汇报\阈值测试\vs\云彩图\8_81hsv.jpg", hsv);
	//threshold(hsv,imgThresholded,95,255,1);
	inRange(hsv, Scalar(70, 70, 46), Scalar(180, 180, 180), imgThresholded);
	imshow("frame", imgThresholded);
	imwrite("G:\研三资料\2021.10月汇报\阈值测试\vs\云彩图\8_81erzhi.jpg", imgThresholded);
	int a = bSums(imgThresholded);//调用函数bSums
	cout << "A:" << a;
	waitKey(0);
	return 0;
}
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/294043.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号