C++&Python&C# 三语言OpenCV从零开发(5):ROI截取

这篇具有很好参考价值的文章主要介绍了C++&Python&C# 三语言OpenCV从零开发(5):ROI截取。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

C++&Python&Csharp in OpenCV 专栏

【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料+课件笔记)

ROI

ROI,本意是感兴趣区域。但是使用起来就和PS的截取部分区域差不多。

我之前写过一篇Python 的代码

Python+OpenCV 零基础学习笔记(6):ROI

其它的相关文章

OpenCV之感兴趣区域ROI(C++实现)

测试图片

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&Python&Csharp in OpenCV,c++,python,c#

部分区域截取

C++

#include <opencv2/opencv.hpp>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc.hpp>  
#include<iostream>  
using namespace std;
using namespace cv;
int main()
{
    Mat image = imread("D:/workspace/program/OpenCV/c--csharp--python--open-cv/Resources/cat.png");
    //截取图片,Range是范围,第一个是高度范围,第二个是宽度范围
    Mat roi = image(Range(0,50),Range(0,200));
    imshow("C++", roi);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Csharp

using OpenCvSharp;

namespace _1_HelloOpenCV
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Mat image = Cv2.ImRead("D:/workspace/program/OpenCV/c--csharp--python--open-cv/Resources/cat.png");
            //Csharp里面都是方法,不能直接使用C++ 的变量当函数使用
            Mat roi = image.SubMat(new OpenCvSharp.Range(0,50), new OpenCvSharp.Range(0, 200));
            Cv2.ImShow("CSharp", roi);
            Cv2.WaitKey(0);
            Cv2.DestroyAllWindows();
            //Console.WriteLine("Hello, World!");

            Console.ReadKey();
        }
    }
}

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Python

#%%
import cv2
import matplotlib.pyplot as plt
import numpy as np

input_img={}

input_img['rgb'] = cv2.imread('Resource\cat.png')
# 截取ROI区域
input_img['roi'] = input_img['rgb'][0:50,0:200]
# 展示ROI区域
cv2.imshow('roi',input_img['roi'])
cv2.waitKey(0)


C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

颜色区域分割

Opencv-C++笔记 (9) : opencv-多通道分离和合并

C++

#include <opencv2/opencv.hpp>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc.hpp>  
#include<iostream>  
using namespace std;
using namespace cv;
int main()
{
    Mat image = imread("D:/workspace/program/OpenCV/c--csharp--python--open-cv/Resources/cat.png");
    Mat bgr[3];
    split(image,bgr);
    imshow("C++ 蓝", bgr[0]);
    imshow("C++ 绿", bgr[1]);
    imshow("C++ 红", bgr[2]);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Csharp

using OpenCvSharp;

namespace _1_HelloOpenCV
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Mat image = Cv2.ImRead("D:/workspace/program/OpenCV/c--csharp--python--open-cv/Resources/cat.png");
            //Csharp里面都是方法,不能直接使用C++ 的变量当函数使用
            Mat[] bgr = new Mat[3];
            bgr = Cv2.Split(image);
            Cv2.ImShow("Csharp 蓝", bgr[0]);
            Cv2.ImShow("Csharp 绿", bgr[1]);
            Cv2.ImShow("Csharp 红", bgr[2]);
            Cv2.WaitKey(0);
            Cv2.DestroyAllWindows();
            //Console.WriteLine("Hello, World!");

            Console.ReadKey();
        }
    }
}

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Python

#%%
import cv2
import matplotlib.pyplot as plt
import numpy as np

input_img={}

input_img['rgb'] = cv2.imread('Resource\cat.png')
# 截取ROI区域
input_img['roi'] = input_img['rgb'][0:50,0:200]
# 展示ROI区域
# cv2.imshow('roi',input_img['roi'])

# 截取颜色通道
b,g,r = cv2.split(input_img['rgb'])
# 将RGB更新到字典中
input_img.update({
    'r':r,
    'g':g,
    'b':b
})
# 展示BGR画面
cv2.imshow('b',input_img['b'])
cv2.imshow('g',input_img['g'])
cv2.imshow('r',input_img['r'])

cv2.waitKey(0)
cv2.destroyAllWindows()

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

颜色通道合并

C++

#include <opencv2/opencv.hpp>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc.hpp>  
#include<iostream>  
using namespace std;
using namespace cv;
int main()
{
    Mat image = imread("D:/workspace/program/OpenCV/c--csharp--python--open-cv/Resources/cat.png");
    Mat bgr[3];
    split(image,bgr);
    //imshow("C++ 蓝", bgr[0]);
    //imshow("C++ 绿", bgr[1]);
    //imshow("C++ 红", bgr[2]);
    Mat imageMerge;
    merge(bgr,3,imageMerge);

    imshow("C++",imageMerge);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Csharp

using OpenCvSharp;

namespace _1_HelloOpenCV
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Mat image = Cv2.ImRead("D:/workspace/program/OpenCV/c--csharp--python--open-cv/Resources/cat.png");
            //Csharp里面都是方法,不能直接使用C++ 的变量当函数使用
            Mat[] bgr = new Mat[3];
            bgr = Cv2.Split(image);
            //Cv2.ImShow("Csharp 蓝", bgr[0]);
            //Cv2.ImShow("Csharp 绿", bgr[1]);
            //Cv2.ImShow("Csharp 红", bgr[2]);
           

            Mat Merge = new Mat();

            //很明显,CSharp的函数就好看懂的多
            Cv2.Merge(bgr, Merge);

            Cv2.ImShow("Csharp",Merge);
            //Console.WriteLine("Hello, World!");
            Cv2.WaitKey(0);
            Cv2.DestroyAllWindows();
            Console.ReadKey();
        }
    }
}

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

Python

#%%
import cv2
import matplotlib.pyplot as plt
import numpy as np

input_img={}

input_img['rgb'] = cv2.imread('Resource\cat.png')
# 截取ROI区域
input_img['roi'] = input_img['rgb'][0:50,0:200]
# 展示ROI区域
# cv2.imshow('roi',input_img['roi'])

# 截取颜色通道
b,g,r = cv2.split(input_img['rgb'])
# 将RGB更新到字典中
input_img.update({
    'r':r,
    'g':g,
    'b':b
})
# 展示BGR画面
# cv2.imshow('b',input_img['b'])
# cv2.imshow('g',input_img['g'])
# cv2.imshow('r',input_img['r'])

# 将BGR合并
input_img['merge']= cv2.merge((input_img['b'],input_img['g'],input_img['r']))

print(input_img['merge'])
cv2.imshow('merge',input_img['merge'])


cv2.waitKey(0)
cv2.destroyAllWindows()

C++&Python&C# 三语言OpenCV从零开发(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

总结

后面我就是照着OpenCV Python的视频写代码了,所以之后会调整一下顺序,Python,C++,Csharp的顺序写代码了。

现在主要看的视频是这个视频。

【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课文章来源地址https://www.toymoban.com/news/detail-823628.html

到了这里,关于C++&Python&C# 三语言OpenCV从零开发(5):ROI截取的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++&Python&C# 三语言OpenCV从零开发(1):环境配置

    由于老王我想转机器视觉方向的上位机行业,我就打算开始从零学OpenCV。但是目前OpenCV有两个官方语言,C++和Pyhont。C# 有大佬做了对应的OpenCV的版本的适配。目前三个语言的特点是 C++:运行效率最快,但是语法难度极大,开发难度极大 Python:开发效率极快,但是运行效率极慢,

    2024年01月16日
    浏览(43)
  • C++&Python&C# 三语言OpenCV从零开发(3):图像读取和显示

    C++PythonCsharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料+课件笔记) OpenCV4 C++ 快速入门视频30讲 - 系列合集 OpenCV4 C++ 课程笔记 在上一章纠结过教程的选择之后,还是觉得老老实实从零开始学OpenCV,从OpenCV C++视频教程开始。 这

    2024年01月21日
    浏览(44)
  • C++&Python&C# 三语言OpenCV从零开发(4):视频流读取

    C++PythonCsharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料+课件笔记) OpenCV 教程中文文档|OpenCV中文 OpenCV教程中文文档|W3Cschool OpenCV基础教程——视频的读取与写入(超详细+附代码) 我之前写过一篇基于Python的,我现在重新写一次

    2024年01月21日
    浏览(49)
  • 迅为RK3568开发板使用OpenCV处理图像-ROI区域-位置提取ROI

    在图像处理过程中,我们可能会对图像的某一个特定区域感兴趣,该区域被称为感兴趣区域(Region of Interest, ROI)。在设定感兴趣区域 ROI 后,就可以对该区域进行整体操作。 位置提取 ROI 本小节代码在配套资料“iTOP-3568 开发板\\03_【iTOP-RK3568 开发板】指南教程\\04_OpenCV 开发配

    2024年02月21日
    浏览(29)
  • OpencvSharp基础学习5 | 图像变换(ROI截取)

    1.MinAreaRect:最小外接矩形 2.CopyTo: 复制图片(掩膜复制法) 3.GetRotationMatrix2D:计算旋转矩阵 4.WarpAffine:图像变换 5.GetRectSubPix:裁剪图像 1.MinAreaRect:最小外接矩形 函数解析: 该函数计算并返回指定点集的最小区域边界斜矩形。 函数原型: 函数参数: 函数返回值: Rotat

    2024年02月08日
    浏览(35)
  • [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制

    欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。Pyt

    2024年02月07日
    浏览(67)
  • OpenCV学习笔记 | ROI区域选择提取 | Python

            ROI区域是指图像中我们感兴趣的特定区域,OpenCV提供了一些函数来选择和提取ROI区域,我们可以使用OpenCV的鼠标事件绑定函数,然后通过鼠标操作在图像上绘制一个矩形框,该矩形框即为ROI区域。本文将介绍代码的实现以及四个主要函数 cv2.setMouseCallback、def sele

    2024年02月07日
    浏览(29)
  • 用迅为RK3568开发板使用OpenCV处理图像颜色通道提取ROI

    本小节代码在配套资料“iTOP-3568 开发板\\03_【iTOP-RK3568 开发板】指南教程 \\04_OpenCV 开发配套资料\\07”目录下,如下图所示: 在计算机的色彩图像中存有三个通道,即 BGR 通道,根据三个颜色通道的亮度值来显示出不同的颜色,通过 imread()函数读取图像文件之后,图像信息会保

    2024年02月10日
    浏览(26)
  • OpenCvSharp-鼠标框选截取感兴趣区域(ROI)-附源代码

     前言:ROI(Region of Interest)是图像处理中的一个重要概念,指的是图像中感兴趣的区域。在这个区域内,我们通常希望执行某种特定的操作、获取特定信息,或者进行进一步的分析。ROI 可以是图像的一个矩形、圆形、多边形或者其他各种形状。 目录 一、核心函数: 委托

    2024年02月04日
    浏览(31)
  • Python 结合opencv实现图片截取和拼接

    python 3.6.2 scikit-build-0.16.7 win10 opencv_python-4.5.4.60-cp36-cp36m-win_amd64.whl 下载地址: https://pypi.org/project/opencv-python/4.5.4.60/#files https://files.pythonhosted.org/packages/57/6c/7f4f56b2555d5c25dd4f41fc72a16dc6402cb2b4f967da11d8d26c669b55/opencv_python-4.5.4.60-cp36-cp36m-win_amd64.whl 注意:下载时不用下abi版的,比如 o

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包