zoukankan      html  css  js  c++  java
  • 《学习OpenCV》课后习题解答4

    题目:(P104)
    练习使用感兴趣区域(ROI)。创建一个210*210的单通道图像并将其归0。在图像中使用ROI和cvSet()建立一个增长如金字塔状的数组。也就是:外部边界为0,下一个内部边界应该为20,再下一个内部边界为40以此类推,直到最后内部值为200;所有的边界应该为10个像素的宽度。最后显示这个图形。

    解答:
    (解题关键在于弄懂题目意思)

    #include "cv.h"
    #include "highgui.h"
    
    int main()
    {
        IplImage* single_img = cvCreateImage(cvSize(210, 210), 8, 1);//210*210 单通道
        cvZero(single_img);
    
    
        int Width = 210, Height = 210;
        int maxPixel = 200;
        int value = 0;
        int i, j;
        for (i = 0, j = 0; i <= Width, j <= Height;)
        {
            //  for(i = 0; i <= Width;)
            //  {
            cvSetImageROI(single_img, cvRect(i, j, Width - i, Height - j)); //set the ROI of the single_img
                                                                            //  cvSetImageROI(single_img, cvRect(0, 0, Width, Height));
            cvSet(single_img, cvScalar(value, 0, 0));
    
            value += 20;
            cvResetImageROI(single_img);
            //  }
            i += 10;//边界都为10个像素宽度
            j += 10;
            if (value == maxPixel)//超过最大像素值200时,退出
            {
                break;
            }
        }
    
        cvNamedWindow("ROI", 0);
        cvShowImage("ROI", single_img);
    
        cvWaitKey(0);
        cvDestroyWindow("ROI");
        cvReleaseImage(&single_img);
    
        return 0;
    }
    

    结果图为:
    这里写图片描述

  • 相关阅读:
    024.Zabbix告警等级机制
    023.Zabbix自定义(邮箱)脚本告警-02
    022.Zabbix自定义(邮箱)脚本告警01
    021.Zabbix的邮件告警-01
    020.Zabbix的Actions配置
    019.Zabbix的Trigger及相关函数
    018.Zabbix维护时间和模板导入
    017.Zabbix宏介绍
    016.Zabbix聚合监控
    015.Zabbix的日志监控配置
  • 原文地址:https://www.cnblogs.com/huahai/p/7271064.html
Copyright © 2011-2022 走看看