zoukankan      html  css  js  c++  java
  • OpenCV学习笔记8_ShowROI_显示感兴趣区域

    ShowROI_显示感兴趣区域

    ShowROI.c  用复制替换图层,替换出自己感兴趣的ROI

    #include "stdafx.h"
    
    #include "cv.h"
    #include "highgui.h"
    #include "cxcore.h"
    
    int main()
    {
        IplImage* img;
        img = cvLoadImage("E:\\TempDataForDebug\\tomato1.jpg");
        IplImage* sub_image = cvLoadImage("E:\\TempDataForDebug\\bee.jpg");
        
        CvRect rect;
        rect.x = 400;
        rect.y = 23;
        rect.width = sub_image->width;
        rect.height = sub_image->height;
    
        cvSetImageROI(img, rect);
        cvCopy(sub_image, img);
    
        cvResetImageROI(img);
       cvNamedWindow("sub");
        cvShowImage("sub",sub_image);
       cvNamedWindow("1");
      cvShowImage(
    "1",img);

      cvWaitKey(0);
      
    return 0;
    }

    ShowROI.c  改进版,用指针偏移,像素替换

    #include "stdafx.h"
    
    #include "cv.h"
    #include "highgui.h"
    #include "cxcore.h"
    
    int main()
    {
        IplImage* img;
        img = cvLoadImage("E:\\TempDataForDebug\\tomato1.jpg");
        IplImage* sub_image = cvLoadImage("E:\\TempDataForDebug\\bee.jpg");
        
        CvRect rect;
        rect.x = 400;
        rect.y = 23;
        rect.width = sub_image->width;
        rect.height = sub_image->height;
    
        int y,x;
    
        for (y = 0; y<sub_image->height; y++)
        {
            unsigned char* subImgData = (unsigned char*)(sub_image->imageData+y*sub_image->widthStep);
            unsigned char* bigImgData = (unsigned char*)(img->imageData+(y+rect.y)*img->widthStep);
    
            for (x = 0; x<sub_image->width; x++)
            {
                bigImgData[3*(x+rect.x) + 0] = subImgData[3*x + 0];
                bigImgData[3*(x+rect.x) + 1] = subImgData[3*x + 1];
                bigImgData[3*(x+rect.x) + 2] = subImgData[3*x + 2];
            }
        }
        cvNamedWindow("sub");
        cvShowImage("sub",sub_image);
    
        cvNamedWindow("1");
        cvShowImage("1",img);
    
        cvWaitKey(0);
    
        return 0;
    }

  • 相关阅读:
    VSCode拓展插件推荐(HTML、Node、Vue、React开发均适用)
    算法_栈的Java的通用数组实现
    算法_计算输入的算术表达式的值.
    设计模式整理_组合模式
    JavaSE复习_9 集合框架复习
    一个小题目的三种不同的解法
    设计模式整理_状态模式
    设计模式整理_迭代器模式
    设计模式整理_模板模式
    JavaSE复习_8 泛型程序设计
  • 原文地址:https://www.cnblogs.com/gaoquanning/p/3071212.html
Copyright © 2011-2022 走看看