精华内容
下载资源
问答
  • 二值图像执行countNonZero。可得到非零像素点数. IplImage* srcImg = cvLoadImage("Lena.jpg"); //注意:当将参数copyData设为true后,则为深拷贝(复制整个图像数据) Mat M(srcImg, true); #include #...

    对二值化图像执行countNonZero。可得到非零像素点数.

    IplImage* srcImg = cvLoadImage("Lena.jpg");
    
    //注意:当将参数copyData设为true后,则为深拷贝(复制整个图像数据)
    Mat M(srcImg, true);
    
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    #include <string>
    
    using namespace cv;
    
    void main()
    {
    	cv::Mat image = imread("threshold.jpg");
    	cv::namedWindow("original");
    	cv::imshow("original",image);
    
    	string windowstring = "result 0";
    	string imagestring = "result 0.jpg";
    	cv::Mat result;
    	enum thresholdtype{THRESH_BINARY ,THRESH_BINARY_INV,THRESH_TRUNC,THRESH_TOZERO,THRESH_TOZERO_INV};
    
    	for (int thresh = 0;thresh<5;thresh++)
    	{
    	 /* 0: 二进制阈值
    	    1: 反二进制阈值
    	    2: 截断阈值
    	    3: 0阈值
    	    4: 反0阈值
    	  */
    		threshold(image,result,150,255,thresholdtype(thresh));//改变参数实现不同的threshold
    		// 得到非0的像素值
    		int iVal255 = countNonZero(result);
    		cv::namedWindow(windowstring);
    		cv::imshow(windowstring,result);//显示输出结果
    		cv::imwrite(imagestring,result);
    		windowstring[7]++;
    		imagestring[7]++;
    	}
    	
    	waitKey(0);
    }

    程序结果:

    threshold.jpg(源图像)

    THRESH_BINARY(二进制阈值)

     

    THRESH_BINARY_INV(反二进制阈值)

     THRESH_TRUNC(截断阈值)

      

     THRESH_TOZERO(0阈值)

     

    THRESH_TOZERO_INV(反0阈值)

     


    展开全文
  • OpenCV二值图像像素操作

    千次阅读 2018-11-09 17:41:00
    二值图像像素不是0就是255,数据类型为uchar。所以访问方法是: // 这里inputmat是二值化图像的mat inputmat.at&lt;uchar&gt;(y, x); 判断是否为白色的方法: if (inputmat.at&lt;uchar&gt;(y, x...

    二值化图像像素不是0就是255,数据类型为uchar。所以访问方法是:

    // 这里inputmat是二值化图像的mat
    inputmat.at<uchar>(y, x);
    

    判断是否为白色的方法:

    if (inputmat.at<uchar>(y, x) == 255){
    	
    }
    

    如果是三通道彩色图像,则数据类型为Vec3b。所以访问方法是:

    inputmat.at<Vec3b>(y, x)
    

    访问某个像素单个通道的方法是:

    inputmat.at<Vec3b>(y, x)[0];// 第一个通道,对应于BGR类型的蓝色通道
    inputmat.at<Vec3b>(y, x)[1];// 第一个通道,对应于BGR类型的绿色通道
    inputmat.at<Vec3b>(y, x)[2];// 第一个通道,对应于BGR类型的红色通道
    

    对于HSV等是同样的方法

    展开全文
  • 今天小编就为大家分享一篇python opencv 二值化 计算白色像素点的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • OpenCV 4】图像像素值统计

    千次阅读 2019-06-20 23:23:09
    用C++代码演示OpenCV 4.1.0 中图像像素值统计。 编程环境:OpenCV 4.1.0 + Visual Studio 2017

    一、编程环境:

    OpenCV 4.1.0
    IDEVisual Studio 2017 Enterprise (15.9.13)
    操作系统Windows 10 x64 中文专业版 (1903)

    二、图像像素值统计:

    • 查找最大值、最小值以及它们所在位置:minMaxLoc()
    void minMaxLoc(InputArray src, CV_OUT double* minVal,
                   CV_OUT double* maxVal = 0, CV_OUT Point* minLoc = 0,
                   CV_OUT Point* maxLoc = 0, InputArray mask = noArray());

    src:输入图像。

    minVal:返回像素最小值。可输入NULL表示不需要。

    maxVal :返回像素最大值。可输入NULL表示不需要。

    minLoc:返回最小值的位置。可输入NULL表示不需要。

    maxLoc:返回最大值的位置。可输入NULL表示不需要。

    mask:可选项。

    • 计算图像所有通道像素的均值与方差:meanStdDev()
    void meanStdDev(InputArray src, OutputArray mean, 
                    OutputArray stddev, InputArray mask=noArray());

    src:输入图像。

    mean:返回图像像素均值。

    stddev:返回图像像素均差值。

    mask:可选项。

    三、示例代码:

    #include <opencv2/opencv.hpp>
    #include <iostream>
    
    using namespace cv;
    using namespace std;
    
    int main(int argc, const char *argv[])
    {
    	Mat src = imread("../images/test.png", IMREAD_GRAYSCALE);
    	if (src.empty()) {
    		printf("不能加载图片!\n");
    		return -1;
    	}
    	namedWindow("1--原图", WINDOW_AUTOSIZE);
    	imshow("1--原图", src);
    
    	double minVal, maxVal; 
    	Point minLoc, maxLoc;
    	//查找图像中最小值最大值及它们的位置
    	minMaxLoc(src, &minVal, &maxVal, &minLoc, &maxLoc, Mat());
    
    	printf("min: %.2f, max: %.2f \n", minVal, maxVal);
    	printf("min location: (%d, %d) \n", minLoc.x, minLoc.y);
    	printf("max location: (%d, %d) \n", maxLoc.x, maxLoc.y);
    	
    	src = imread("../images/test.png");
    	Mat means, stddev;
    	//计算:彩色图像三通道的均值与方差
    	meanStdDev(src, means, stddev);
    	printf("Channel--[Blue]  mean: %.2f, stddev: %.2f\n", means.at<double>(0, 0), stddev.at<double>(0, 0));
    	printf("Channel--[Green] mean: %.2f, stddev: %.2f\n", means.at<double>(1, 0), stddev.at<double>(1, 0));
    	printf("Channel--[Red]   mean: %.2f, stddev: %.2f\n", means.at<double>(2, 0), stddev.at<double>(2, 0));
    
    	waitKey(0);
    	return 0;
    }

    四、运行效果:

    展开全文
  • opencv获取图像像素值

    2014-04-16 22:34:01
    opencv获取图像像素值,学习opencv如何读图片并显示出来,获取像素
  • python opencv 二值化 计算白色像素

    万次阅读 2018-03-11 23:01:50
    # 二值化 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] =...

    贴部分代码

    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    import cv2
    import numpy as np
    from PIL import Image
    
    area = 0
    def ostu(img):
        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
    展开全文
  • OpenCV遍历彩色图像、灰度图像像素值方法
  • opencv】统计图像二值化后白色像素点个数

    万次阅读 多人点赞 2015-04-28 17:19:25
    应用:图像特征提取 #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/core/core.hpp" #include #include #include "cv.h" #include "highgui.h" #include ...
  • 代码只能读取已知图像大小的像素RGB,例如375*500,其他大小可将CvPoint pt2 = cvPoint(375,a)和for(a=0;a&lt;=500;a++)数字替换。 #include "stdafx.h" #include &lt;stdio.h&gt; #...
  • opencv计算指定区域黑白像素占比

    千次阅读 热门讨论 2020-10-04 22:14:06
     如下在我们拿到二值化的图像之后,想要计算红框内黑白像素在该区域的占比。注意单通道的图像无法出现黑白以外的颜色。 上图为我们拿到的红色区域二值化之后的图像。我们通过遍历该区域所有像素来判断。若值为...
  • opencv(图像像素提取及操作

    万次阅读 2018-06-23 12:45:08
    为了编写计算机视觉应用,我们必须会存取图像的内容,如修改或者创建图像,这些过程都需要对图像的基本元素进行操作,即所谓的像素。1【存取像素值】为了存取...在图像随机添加一些椒盐噪点,随机将一些像素设置为...
  • opencv 读取图像像素值到数组,用指针方式实现 opencv 读取图像像素值到数组,用指针方式实现
  • opencv 保存灰度图像像素值

    千次阅读 2012-09-13 19:46:51
    outfile1图像像素值"; //cvFlip(img); for(int j=0;j<img->height;j++) { for(int i=0;i<img->width;i++) { p = cvGet2D(img,j,i);//(j,i) outfile1[0]; } outfile1; } //*/ return 0; } 2 灰度...
  • 1, 首先A向外延展一到两个像素,并将填充为背景色(0),标记为B。 2, 使用floodFill函数将B的大背景填充,填充为前景色(255),种子点为(0,0)即可(步骤一可以确保(0,0)点位于大背景),标记为C。...
  • opencv中求图像像素值中位数

    千次阅读 2020-02-27 14:59:19
    话不多说,直接上源码: int GetMidValue(Mat& input) { int rows = input.rows; int cols = input.cols; float histogram[256] = { 0 }; int threshold = 0;... ///获取i行首像素的指针...
  • 二值(黑白)图像噪声滤波算法 在图像处理应用中,我们经常会遇到图像中的噪声点影响图像的分割和处理的情况,OpenCV的Java示例不多,本文给出一个OpenCV + Java环境下的图像噪声滤波算法。 OpenCV版本:3.4...
  • OpenCV中用于读取图像像素点的

    千次阅读 2016-12-17 14:41:53
    OpenCV中用于读取图像像素点的方法一 利用IplImage数据类型的imageData定位数据缓冲区来实现,imageData包含指向图像第一个像素数据的指针 例: If( img!= 0 )//imgSource为IplImage* { for(int i = 0; i ...
  • opencv修改图像像素值

    万次阅读 2017-07-06 16:08:40
    本节知识点 1,读写图像 a,imread可以加载灰度图或者RGB图像 ...a,读取灰度图像像素点的(CV_8UC1) Scalar intensity=img.at(y,x); 或者 Scalar intensity=img.at(Point(x,y)) 3,读一个RGB像素点的像素 Vec3f int
  • python opencv-10图像像素值统计

    千次阅读 2019-11-04 19:04:33
    import cv2 as cv import numpy as np src=cv.imread(r’C:\Users\zs\Desktop\defm.jpg’,cv.IMREAD_GRAYSCALE) cv.namedWindow(‘input’,cv.WINDOW_AUTOSIZE) ...#最大最小值和相应的位置 min,max,minLoc,ma...
  • OPENCV2 访问图像像素值的三种方法

    千次阅读 2015-08-19 22:59:13
    访问图像像素值是图像处理的基本操作。OPENCV2提供了很多中访问方式,本文实现了其中比较常用的三种方式: (1) 通过指针访问 (2) 通过迭代器访问 (3) 动态地址计算,通过at()函数实现。
  • 如果图像是一幅灰度图像,他就像这样,从左到右,从上到下,依次是矩阵的每一行每一列,这时候矩阵M(i,j)的自然就是当前点的灰度了。 而对于一幅彩色图像,由于它的像素分量channel并不是一个,所以每一...
  • 这一节将讲述OpenCV——修改图像像素,根据自己需要添加特定的像素部分 原图如下,我们就是先在这个视频流上添加一条直线段(有一定宽度的)     现在我们想添加一条,135行-455行,列350--360的直线段   ...
  • OpenCv 如何对图像像素进行操作

    千次阅读 2015-10-10 08:46:20
    如果图像是一幅灰度图像,他就像这样,从左到右,从上到下,依次是矩阵的每一行每一列,这时候矩阵M(i,j)的自然就是当前点的灰度了。 而对于一幅彩色图像,由于它的像素分量channel并不是一个,所以每一...
  • opencv图像像素值读取

    千次阅读 2016-08-26 09:28:46
    说到图像像素,肯定要先认识一下图像中的坐标系长什么样。 1. 坐标体系中的零点坐标为图片的左上角,X轴为图像矩形的上面那条水平线;Y轴为图像矩形左边的那条垂直线。该坐标体系在诸如结构体Mat,Rect,Point中都是...
  • opencv获取图像像素值

    千次阅读 2015-08-12 23:08:24
    2、opencv中获取图像像素的方法 方法一:  IplImage *img = cvLoadImage("Lena.jpg", 0);  CvScalar pixel;  for (int i = 0; i < img->height; ++i)  {  for (int j = 0; j < img->width; ++j) ...
  • opencv读取图像像素值

    千次阅读 2017-11-28 23:00:38
    用鼠标取图片中的像素值#include<opencv2\opencv.hpp> #include using namespace cv; using namespace std; bool flag = false; int xvalue = 0; int yvalue = 0; Mat image,image1,image2; void mousecallback(int ...
  • OpenCV计算二值图像周长面积

    千次阅读 2014-06-07 17:41:13
    OpenCV计算二值图像周长面积

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,795
精华内容 24,318
关键字:

opencv二值图像的白像素