精华内容
下载资源
问答
  • opencv彩色图像灰度化的问题 opencv彩色图像灰度化的问题
  • openCV实现图像灰度化并保存,(MFC实现)
  • 利用opencv3.0和vs2015配置环境对多张图像进行灰度化处理
  • opencv实现图像灰度化和二值

    热门讨论 2011-03-04 14:57:32
    基于开源的opencv,实现一个图像灰度化和二值。用于后续的图像分割和识别
  • opencv mat 图像灰度化

    万次阅读 2015-10-21 11:53:29
    Mat srcImg = imread("D://3901781-2.JPG"); // 读取源图像 if (!srcImg.data) { printf("D://3901781-1-e1056.JPG不存在!"); return -1; } Mat destImg;...cvtColor(srcImg, destImg, CV_BGR2GRAY)... // 转为灰度图像

    Mat srcImg = imread("D://3901781-2.JPG"); // 读取源图像
    if (!srcImg.data) {
        printf("D://3901781-1-e1056.JPG不存在!");
        return -1;
    }
    Mat destImg; // 
    cvtColor(srcImg, destImg, CV_BGR2GRAY); // 转为灰度图像





    展开全文
  • openCV 实现图像灰度调整,初学者可以通过参考这些代码,迅速掌握数字图像处理openCV图像灰度的调整。
  • 主要为大家详细介绍了Opencv实现图像灰度线性变换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Opencv-图像灰度化、二值

    千次阅读 2014-04-03 11:47:54
    图像灰度化:将彩色图像转化成为灰度图像的过程成为图像的灰度处理。彩色图像的每个像素的颜色有R、G、B三个分量决定,而每个分量像素值在0~255,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围...

          图像灰度化:将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量像素值在0~255,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,灰度值也是0~255.灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。

        图像二值化:将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像,有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。

        基本处理的代码与部分实验如下:

    #include "stdafx.h"
    #include <opencv2/opencv.hpp>
    #include "stdio.h"
    int _tmain(int argc, _TCHAR* argv[])
    {
        IplImage *src = cvLoadImage("test.jpg",1);
        cvShowImage("test",src);
        cvWaitKey(0);
        IplImage *dst = cvCloneImage(src);
        cvZero(dst);
        cvShowImage("Zero",dst);
        cvWaitKey(0);
        IplImage *dst_grey = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,1);
        IplImage *dst_binary = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,1);
        cvCvtColor(src,dst_grey,CV_BGR2GRAY);//转灰度
        cvShowImage("Grey_Image",dst_grey); 
        cvThreshold(dst_grey, dst_binary, 120, 255, CV_THRESH_OTSU);  //二值化 
        cvShowImage("Binary_Image", dst_binary);
        cvWaitKey(0);
    
        cvReleaseImage (&src); 
        cvReleaseImage (&dst); 
        cvReleaseImage (&dst_grey); 
        cvReleaseImage (&dst_binary);  
        cvDestroyAllWindows();
      return 0;
    }

    
    


       

    展开全文
  • 本程序可以在android系统上运行实现图片的灰度化,主要是利用opencv在android上写程序的方法。
  • OpenCV计算图像灰度均值

    热门讨论 2014-03-16 22:07:54
    OpenCV计算IplImage类型图像灰度均值
  • opencv图像灰度化

    2020-10-06 17:16:26
    opencv图像灰度化 方法一: 直接在读取的时候进行灰度。 import cv2 img0 = cv2.imread(r"C:\Users\lenovo\Desktop\python\python_vision\image.jpg",0) img1 = cv2.imread(r"C:\Users\lenovo\Desktop\python\...

    opencv图像灰度化

    方法一:
    直接在读取的时候进行灰度化。

    import cv2
    
    img0 = cv2.imread(r"C:\Users\lenovo\Desktop\python\python_vision\image.jpg",0)
    img1 = cv2.imread(r"C:\Users\lenovo\Desktop\python\python_vision\image.jpg",1)
    
    print(img0.shape)
    print(img0.shape)
    cv2.imshow("img0",img0)
    cv2.imshow("img1",img1)
    cv2.waitKey()
    

    方法二:
    采用cv2.COLOR_RGB2GRAY函数
    import cv2
    img1 = cv2.imread(r"C:\Users\lenovo\Desktop\python\python_vision\image.jpg",1)
    print(img0.shape)
    dst = cv2.cvtColor(img1,cv2.COLOR_RGB2GRAY)
    print(dst.shape)
    cv2.imshow(“img0”,img0)
    cv2.imshow(“dst”,dst)
    cv2.waitKey()
    注意,此种方法和和第一种方法灰度化图像不一样,有待进一步研究。
    (已经知道问题原因:rgb的权重不一样)
    在这里插入图片描述
    方法三:
    图像灰度化,即为图像的R=G=B,可以通过算法,实现R=G=B.

    import cv2
    import numpy as np
    img1 = cv2.imread(r"C:\Users\lenovo\Desktop\python\python_vision\image.jpg",1)
    
    imgInfo = img1.shape
    height = imgInfo[0]
    width = imgInfo[1]
    #  huidutuxiang   R=G=B   (R+G+B)/3
    dst = np.zeros((height,width,3),np.uint8)
    for i in range(0,height):
        for j in range(0,width):
            (b,g,r) = img1[i,j]
            gray = (int(b)+int(g)+int(r))/3
            dst[i,j] = np.uint8(gray)
    cv2.imshow("dst",dst)
    cv2.waitKey()
    

    在这里插入图片描述
    方法四:
    灰度值中的R,G,B采用不同的权重比。
    例如 gray = R0.299+G0.587+B*0.114

    import cv2
    import numpy as np
    
    img1 = cv2.imread(r"C:\Users\lenovo\Desktop\python\python_vision\image.jpg",1)
    
    imgInfo = img1.shape
    height = imgInfo[0]
    width = imgInfo[1]
    #  huidutuxiang   gray = R*0.299+G*0.587+B*0.114
    dst = np.zeros((height,width,3),np.uint8)
    for i in range(0,height):
        for j in range(0,width):
            (b,g,r) = img1[i,j]
            gray = 0.299*int(b)+0.587*int(g)+0.114*int(r)
            dst[i,j] = np.uint8(gray)
    cv2.imshow("dst",dst)
    cv2.waitKey()
    

    在这里插入图片描述

    此方法解决了不同灰度的疑问,在方法二中。

    展开全文
  • OpenCV简单的图像灰度化

    千次阅读 2017-04-15 18:33:47
    OpenCV简单的图像灰度化图像灰度化算是数字图像处理很简单的操作了,这里使用OpenCV简单尝试一下。

    OpenCV简单的图像灰度化

    图像灰度化算是数字图像处理中很简单的操作了,这里使用OpenCV简单尝试一下。

    简单粗暴的方法:
    最简单粗暴的方法只需要一行代码,如下:

    Mat mat = imread("Image.jpg", IMREAD_GRAYSCALE);

    其中,第一个为图像文件的储存路径,第二个为打开图像的模式。模式总共有以下几种:

    enum ImreadModes {
           IMREAD_UNCHANGED            = -1,//啥都不做,该咋样咋样
           IMREAD_GRAYSCALE            = 0,//转换成灰度图
           IMREAD_COLOR                = 1, //转换成3通道RGB颜色
           IMREAD_ANYDEPTH             = 2,//
           IMREAD_ANYCOLOR             = 4,//加载所有支持的格式,不转换
           IMREAD_LOAD_GDAL            = 8,
           IMREAD_REDUCED_GRAYSCALE_2  = 16, 
           IMREAD_REDUCED_COLOR_2      = 17,
           IMREAD_REDUCED_GRAYSCALE_4  = 32, 
           IMREAD_REDUCED_COLOR_4      = 33, 
           IMREAD_REDUCED_GRAYSCALE_8  = 64, 
           IMREAD_REDUCED_COLOR_8      = 65,
           IMREAD_IGNORE_ORIENTATION   = 128
         };
    

    其中,IMREAD_UNCHANGED代表啥都不做,该咋样咋样,IMREAD_GRAYSCALE代表转换成灰度图,IMREAD_COLOR代表转换成3通道RGB颜色图,IMREAD_ANYDEPTH代表如果图像是16/32位的,则原样输出,否则转换为8位灰度图,IMREAD_ANYCOLOR代表加载所有支持的格式,不转换。
    因此,只要选择灰度模式,OpenCV就会自动将图片转换为单通道的灰度图,我们就可以直接使用啦~
    不过使用OpenCV提供好的代码有点Low,还是自己写吧~


    自食其力的方法:
    首先要确定RBG通道转换成灰度值的公式:

    Gray = (11 * B + 59 * G + 30 * R + 50) / 100;

    使用这一公式避免了小数计算,速度比较快。接下来,就可以逐个像素的修改颜色了。首先需要建立一个和原图像大小相等的灰度图像,并且该图像的通道是8位的:

    Mat matGray(mat.rows, mat.cols, CV_8UC1);

    然后一行行修改,使用ptr()方法获取每一行的头指针:

    for (size_t idx = 0; idx < mat.rows; idx++)
    {
        uchar *ptr = mat.ptr<uchar>(idx);
        uchar *newPtr = matGray.ptr<uchar>(idx);
        for (size_t subIdx = 0; subIdx < mat.cols; subIdx++)
        {
            newPtr[subIdx] = (11 * ptr[subIdx * 3] + 59 * ptr[subIdx * 3 + 1]
                                + 30 * ptr[subIdx * 3 + 2] + 50) / 100;
        }
    }

    至此灰度化就搞定啦,效果还是不错的~虽说灰度化很简单,但毕竟是数字图像处理入门的第一步嘛~
    以此纪念我在数字图像处理上的第一篇文章~

    展开全文
  • 3 OpenCV图像灰度化处理 3.1 最大值灰度处理 3.2 平均灰度处理 3.3 加权平均灰度处理 参考资料 1 图像灰度原理 在图像处理算法,往往需要把彩色图像转换为灰度图像。图像灰度是将一幅彩色图像转换为灰度...
  • OpenCV图像灰度化的六种方法

    千次阅读 多人点赞 2020-05-29 01:32:15
    具体cv.imread及其使用方法参考博客OpenCV图像的加载、显示与保存 方法二:调用cvtColor灰度化,其中cvtColor如下: cv.cvtColor(src, code, dst=None, dstCn=None) 参数 : src:input image: 8-bit unsigned
  • Opencv中图像灰度直方图

    千次阅读 2015-12-03 11:53:25
    Opencv图像灰度、直方图
  • opencv-python 图像灰度化

    千次阅读 2019-12-19 21:25:53
    opencv-python 图像灰度化写在前面读取图像cv库函数分量法最大值法平均值法加权平均法效果对比 写在前面 最近自己在做图像的预处理,学习了一些东西,做一个简单的小总结。 图像灰度化处理一般有以下几种方式: 1. ...
  • OpenCV图像灰度直方图

    2019-11-01 10:04:01
    OpenCV计算图像灰度直方图,绘制图像灰度直方图灰度分布。
  • 一种利用opencv,将一彩色图像转化为灰度图像,程序可以运行
  • OpenCV—RGB图像灰度化,并提取轮廓 主要功能:加载一个RGB彩色图像,将其转化成灰度图,并采用Canny算法提取灰度图的边缘
  • OpenCV—RGB图像灰度化,并提取轮廓

    热门讨论 2011-05-18 19:22:40
    OpenCV 图像灰度化,并提取轮廓 主要功能:加载一个RGB彩色图像,将其转化成灰度图,并采用Canny算法提取灰度图的边缘
  • OpenCV图像灰度化

    万次阅读 2010-06-13 11:19:00
    OpenCV图像灰度化 #include "stdafx.h" <br />#include "highgui.h" #include "cv.h" #include <cvaux.h><br /> int main(int argc, char *argv[]) {  const char * filename =...
  • 突然间,遇到这样的问题,需要用新的版本实现图像灰度化处理,发现需要访问图像矩阵的数据元素。要找到旧版本的实例比较多,实现的方法介绍也比较多(方法可以参考...
  • 利用Opencv进行图像灰度变换处理

    千次阅读 2015-04-14 21:40:33
    具体内容:用打开 OpenCV 打开图像,并在窗口显示 2、灰度图像二值处理 具体内容:设置并调整阈值对图像进行二值处理。 3、灰度图像的对数变换 具体内容:设置并调整 r 值对图像进行对数变换。 4、灰度图像的...
  • C++写OpenCV图像灰度化

    2021-01-20 16:28:39
    imread(“图像所在的路径”,图像显示的模式) :读取图像 namedWindow(“窗口名”, 窗口模式);...opencv2/opencv.hpp> #include <math.h> using namespace std; using namespace cv; int main(int argc,
  • 本篇文章讲解图像灰度化处理的知识,结合OpenCV调用cv2.cvtColor()函数实现图像灰度操作,使用像素处理方法对图像进行灰度处理。基础性知识希望对您有所帮助。 1.图像灰度化原理 2.基于OpenCV图像灰度化处理 3....
  • OpenCV数字图像灰度直方图

    千次阅读 2013-05-02 15:52:18
    灰度直方图是数字图像中最简单且有用的工具,这一篇主要总结OpenCV中直方图CvHistogram的结构和应用。灰度直方图的定义灰度直方图是灰度级的函数,描述图像中灰度级的像素个数(或该灰度级像素出现的频率):其横...
  • 功能:实现对图像的读入、灰度化、归一和向量。 代码://这里的头文件都是vs2008的,与vc6.0有多不同 #include #include using namespace std; using namespace cv; void main(int argc, char* argv[]) { ...
  • Java之Opencv图像灰度化处理-yellowcong

    千次阅读 2018-01-07 10:43:53
    在进行图片识别的操作前,我们都会对图片进行灰度化处理,灰度化后的图片,便于我们通过opencv来进行图片的读取等操作 代码地址#码云地址 https://gitee.com/yellowcong/opencv #github ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,418
精华内容 19,767
关键字:

opencv中图像灰度化