zoukankan      html  css  js  c++  java
  • OpenCV学习笔记7_ImageToBGR_彩色图像三通道转化成BGR3幅单通道图像

    ImageToBGR_彩色图像三通道转化成BGR3幅单通道图像

    ImageToBGR.c  采用指针偏移

    #include "stdafx.h"
    
    #include "cv.h"
    #include "highgui.h"
    #include "cxcore.h"
    
    int main()
    {
        IplImage* img;
        img = cvLoadImage("E:\\TempDataForDebug\\tomato.jpg");
    
        IplImage* b_img;
        IplImage* g_img;
        IplImage* r_img;
    
        b_img = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
        g_img = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
        r_img = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
    
    
        int y,x;
    
        for (y = 0; y<img->height; y++)
        {
            unsigned char* prow = (unsigned char*)(img->imageData+y*img->widthStep);
            unsigned char* brow = (unsigned char*)(b_img->imageData+y*b_img->widthStep);
            unsigned char* grow = (unsigned char*)(g_img->imageData+y*g_img->widthStep);
            unsigned char* rrow = (unsigned char*)(r_img->imageData+y*r_img->widthStep);
    
            for (x = 0; x<img->width; x++)
            {
                brow[x] = prow[3*x + 0];
                grow[x] = prow[3*x + 1];
                rrow[x] = prow[3*x + 2];
            }
        }
        cvNamedWindow("1");
        cvShowImage("1",img);
    
        cvNamedWindow("b");
        cvShowImage("b",b_img);
        cvNamedWindow("g");
        cvShowImage("g",g_img);
        cvNamedWindow("r");
        cvShowImage("r",r_img);
    
        cvWaitKey(0);
    
        return 0;
    }

  • 相关阅读:
    中国剩余定理(CRT) & 扩展中国剩余定理(ExCRT)总结
    各种求逆元
    A*(A_star)搜索总结
    线段树总结
    C++的STL
    Unable to make the session state request to the session state server处理方法
    判断UserAgent是否来自微信
    VS2010 EntityFramework Database First
    VS2010类似Eclipse文件查找功能-定位到
    Newtonsoft.Json随手记
  • 原文地址:https://www.cnblogs.com/gaoquanning/p/3071007.html
Copyright © 2011-2022 走看看