国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(5):ROI截取

這篇具有很好參考價值的文章主要介紹了C++&Python&C# 三語言O(shè)penCV從零開發(fā)(5):ROI截取。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

C++&Python&Csharp in OpenCV 專欄

【2022B站最好的OpenCV課程推薦】OpenCV從入門到實戰(zhàn) 全套課程(附帶課程課件資料+課件筆記)

ROI

ROI,本意是感興趣區(qū)域。但是使用起來就和PS的截取部分區(qū)域差不多。

我之前寫過一篇Python 的代碼

Python+OpenCV 零基礎(chǔ)學(xué)習(xí)筆記(6):ROI

其它的相關(guān)文章

OpenCV之感興趣區(qū)域ROI(C++實現(xiàn))

測試圖片

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(5):ROI截取,C++&Python&Csharp in OpenCV,c++,python,c#

部分區(qū)域截取

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# 三語言O(shè)penCV從零開發(fā)(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++ 的變量當(dāng)函數(shù)使用
            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# 三語言O(shè)penCV從零開發(fā)(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區(qū)域
input_img['roi'] = input_img['rgb'][0:50,0:200]
# 展示ROI區(qū)域
cv2.imshow('roi',input_img['roi'])
cv2.waitKey(0)


C++&Python&C# 三語言O(shè)penCV從零開發(fā)(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

顏色區(qū)域分割

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++ 藍(lán)", bgr[0]);
    imshow("C++ 綠", bgr[1]);
    imshow("C++ 紅", bgr[2]);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(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++ 的變量當(dāng)函數(shù)使用
            Mat[] bgr = new Mat[3];
            bgr = Cv2.Split(image);
            Cv2.ImShow("Csharp 藍(lán)", 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# 三語言O(shè)penCV從零開發(fā)(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區(qū)域
input_img['roi'] = input_img['rgb'][0:50,0:200]
# 展示ROI區(qū)域
# 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# 三語言O(shè)penCV從零開發(fā)(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++ 藍(lán)", 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# 三語言O(shè)penCV從零開發(fā)(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++ 的變量當(dāng)函數(shù)使用
            Mat[] bgr = new Mat[3];
            bgr = Cv2.Split(image);
            //Cv2.ImShow("Csharp 藍(lán)", bgr[0]);
            //Cv2.ImShow("Csharp 綠", bgr[1]);
            //Cv2.ImShow("Csharp 紅", bgr[2]);
           

            Mat Merge = new Mat();

            //很明顯,CSharp的函數(shù)就好看懂的多
            Cv2.Merge(bgr, Merge);

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

C++&Python&C# 三語言O(shè)penCV從零開發(fā)(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區(qū)域
input_img['roi'] = input_img['rgb'][0:50,0:200]
# 展示ROI區(qū)域
# 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# 三語言O(shè)penCV從零開發(fā)(5):ROI截取,C++&amp;Python&amp;Csharp in OpenCV,c++,python,c#

總結(jié)

后面我就是照著OpenCV Python的視頻寫代碼了,所以之后會調(diào)整一下順序,Python,C++,Csharp的順序?qū)懘a了。

現(xiàn)在主要看的視頻是這個視頻。

【2022B站最好的OpenCV課程推薦】OpenCV從入門到實戰(zhàn) 全套課程(附帶課程課文章來源地址http://www.zghlxwxcb.cn/news/detail-823628.html

到了這里,關(guān)于C++&Python&C# 三語言O(shè)penCV從零開發(fā)(5):ROI截取的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包