怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图?

刚学OPENCV,这个问题我已经弄了很久了,请大家帮忙下!

先进行灰度化,IplImage* pImg = cvLoadImage( "C:\\1.bmp", 0 ); 这样图像已经灰度化,然后调用cvThreshold(image, image, 125, 255, CV_THRESH_BINARY); 就可以了,125那里是你所用的阈值,这就是最简单的二值化,你要用ostu,或者别的高级一点的,就要自己写函数了
温馨提示:内容为网友见解,仅供参考
无其他回答

怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图?
先进行灰度化,IplImage* pImg = cvLoadImage( "C:\\\\1.bmp", 0 ); 这样图像已经灰度化,然后调用cvThreshold(image, image, 125, 255, CV_THRESH_BINARY); 就可以了,125那里是你所用的阈值,这就是最简单的二值化,你要用ostu,或者别的高级一点的,就要自己写函数了 ...

OpenCV彩色图与灰度图互相转换
OpenCV能将彩色图转换为灰度图,方法有三种。第一种为公式转换,结果接近于0.3*R+0.59*G+0.11*B,第二种为取每个通道均值,第三种为取每个通道最大值。效果不尽人意。OpenCV使用的转换方式效果与前两种相似。验证显示OpenCV方式可能在计算精度上有区别。转换灰度图至彩色图,OpenCV直接将灰度图复制...

opencv实现彩色图像向灰度图像转换的函数是哪个?
code 色彩空间转换的模式,该code来实现不同类型的颜色空间转换。比如CV_BGR2GRAY表示转换为灰度图,CV_BGR2HSV将图片从RGB空间转换为HSV空间。其中当code选用CV_BGR2GRAY时,dst需要是单通道图片。当code选用CV_BGR2HSV时,对于8位图,需要将RGB值归一化到0-1之间。这样得到HSV图中的H范围才是0-36...

怎么用opencv获取图像灰度值(用C语言)
1、可以变成灰度图也可以不变。这里假设你的图像都是IPL_DEPTH_8U类型。2、如果变成灰度图,就是单通道图像,获取的就是每一个像素点的灰度值。IplImage* img = cvLoadImage("test.bmp", 0);for (int i = 0; i < img->height; i++){ for (int j = 0; j < img->width; j++){ ...

Opencv之图像灰度化
一般有四种方法对彩色图像进行灰度化处理:分量法、最大值法、平均值法、加权平均法。图像灰度化处理有以下几种方式: 1. 分量法 将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像。2. 最大值法 将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。

有张彩色的jpg图片,如何转换成灰度图
2.打开.jpg图片文件,点“图像 > 转换为灰度图像”3.点“文件 > 另存为”,选择“JPG - JPG\/JPEG Format”,点保存>> IrfanView程序文件只有1.7M,但功能很多,比如:调整大小、旋转、反色、锐化模糊、图片合并、批量转换等。 >> IrfanView一般的图片处理完全够用了,很多常用的处理效率比PhotoShop快多了。

【opencv+VS】图片中找圆
CV_RGB(255,0,0), 3, 8, 0 );} cvNamedWindow( "circles",1 );cvShowImage( "circles",img );cvWaitKey(0);} return 0;} 这是未转换成yuv格式的,将输入的图像灰度化进行处理 如果想要转成yuv格式,调用cvCvtColor(img,yuv,CV_BGR2YUV);即可得到yuv格式图像,其中的y分量即为灰度图 ...

OpenCV中为什么将一幅图片改为灰度图后,灰度图比原图像占用空间大?
你原本图像是多大,是不是BMP?如果你原本的图像比较小的话,那有可能因为灰度图像需要颜色表的原因导致灰度图比不需要颜色表的24位真彩图还要大。推荐你用UltraEdit参考图片的格式分析一下这两个图片 在matlab中纯粹是像素点的数值,所以灰度图为真彩的1\/3 ...

python下使用openCV3,如何在一幅灰度图中,为所有灰度为某特定值的点赋...
你好,我觉得用np.where是可以实现的,下面是相关的实现代码:import cv2import numpy as npimage = np.zeros((400,400,3), dtype="uint8")raw = image.copy()image[np.where((image==[0,0,0]).all(axis=2))] = [255,255,255]cv2.imshow('Test0', image)lower_black = np.array(...

opencv去除图片中线条,保留数字
总体为五部分:1,首先将图像转化为灰度图记为A;2,利用霍夫圆在A中检测最大的椭圆,然后在新的图像中创建相同半径的圆得到B;3,对灰度图和绘制圆的图像,应用OpenCV的bitwise_and与运算,在原灰度图像A中提取只包含椭圆图像区域记为C;4,对图像C设置合适的阈值进行文字提取最终得到D;5,对图像...

相似回答