亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Opencv簡(jiǎn)單圖像操作方法實(shí)戰(zhàn)

 更新時(shí)間:2024年02月18日 15:23:04   作者:stoAir  
OpenCV是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)庫(kù),它提供了一系列豐富的圖像處理和計(jì)算機(jī)視覺(jué)算法,這篇文章主要給大家介紹了關(guān)于Opencv簡(jiǎn)單圖像操作方法的相關(guān)資料,需要的朋友可以參考下

Opencv

一、讀取圖片

1.imshow

Mat imread(const string& filename, intflags=1 );

flags:
enum
{
/* 8bit, color or not */
   CV_LOAD_IMAGE_UNCHANGED  =-1,
/* 8bit, gray */
   CV_LOAD_IMAGE_GRAYSCALE  =0,
/* ?, color */
   CV_LOAD_IMAGE_COLOR      =1,
/* any depth, ? */
   CV_LOAD_IMAGE_ANYDEPTH   =2,
/* ?, any color */
   CV_LOAD_IMAGE_ANYCOLOR   =4
};

Mat image0=imread("dota.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);//載入最真實(shí)的圖像
Mat image1=imread("dota.jpg",0);//載入灰度圖
Mat image2=imread("dota.jpg",199);//載入3通道的彩色圖像
Mat logo=imread("dota_logo.jpg");//載入3通道的彩色圖像
  • CV_LOAD_IMAGE_UNCHANGED,這個(gè)標(biāo)識(shí)在新版本中被廢置了,忽略。
  • CV_LOAD_IMAGE_ANYDEPTH- 如果取這個(gè)標(biāo)識(shí)的話,若載入的圖像的深度為16位或者32位,就返回對(duì)應(yīng)深度的圖像,否則,就轉(zhuǎn)換為8位圖像再返回。
  • CV_LOAD_IMAGE_COLOR- 如果取這個(gè)標(biāo)識(shí)的話,總是轉(zhuǎn)換圖像到彩色一體
  • CV_LOAD_IMAGE_GRAYSCALE- 如果取這個(gè)標(biāo)識(shí)的話,始終將圖像轉(zhuǎn)換成灰度
  • flags >0返回一個(gè)3通道的彩色圖像。
  • flags =0返回灰度圖像。
  • flags <0返回包含Alpha通道的加載的圖像。

2.namedWindow

void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE ); 
  • WINDOW_NORMAL設(shè)置了這個(gè)值,用戶便可以改變窗口的大小(沒(méi)有限制)
  • WINDOW_AUTOSIZE如果設(shè)置了這個(gè)值,窗口大小會(huì)自動(dòng)調(diào)整以適應(yīng)所顯示的圖像,并且不能手動(dòng)改變窗口大小。
  • WINDOW_OPENGL 如果設(shè)置了這個(gè)值的話,窗口創(chuàng)建的時(shí)候便會(huì)支持OpenGL。

3.imshow

void imshow(const string& winname, InputArray mat);

4.效果圖

c++

python

二、圖像操作

python

import cv2 as cv
import numpy as np
image = cv.imread("/home/stoair/Opencv/Images/1.png", 4)
cv.namedWindow("initial",cv.WINDOW_NORMAL)
cv.namedWindow("after",cv.WINDOW_NORMAL)
height = image.shape[0]
width = image.shape[1]
cv.imshow("initial",image)
for i in range(height):
	for j in range(width):
		(b, g, r) = image[i, j]
		ave = b/3 + g/3 + r/3
		image[i, j] = (ave, ave, ave)

cv.imshow("after",image) 
cv.waitKey(0)

c++

#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs.hpp> 
#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
    Mat image0 = imread("/home/stoair/Opencv/Images/1.png", 4);
    namedWindow("initial", WINDOW_NORMAL);
    namedWindow("change", WINDOW_NORMAL);
    imshow("initial", image0);

    int height = image0.rows;
    int width = image0.cols;
    for(int i = 0; i < height; i++){
        for(int j = 0; j < width; j++){
            unsigned char b = image0.at<Vec3b>(i, j)[0];
            unsigned char g = image0.at<Vec3b>(i, j)[1];
            unsigned char r = image0.at<Vec3b>(i, j)[2];
            unsigned char ave = b/3 + g/3 +r/3;
            image0.at<Vec3b>(i, j)[0] = ave;
            image0.at<Vec3b>(i, j)[1] = ave;
            image0.at<Vec3b>(i, j)[2] = ave;
        }
    }

    imshow("change", image0);
    waitKey(0);
    return 0;
}

總結(jié) 

到此這篇關(guān)于Opencv簡(jiǎn)單圖像操作方法的文章就介紹到這了,更多相關(guān)Opencv圖像操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于numpy.random.randn()與rand()的區(qū)別詳解

    基于numpy.random.randn()與rand()的區(qū)別詳解

    下面小編就為大家分享一篇基于numpy.random.randn()與rand()的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python pymysql操作MySQL詳細(xì)

    Python pymysql操作MySQL詳細(xì)

    pymysql是Python3.x中操作MySQL數(shù)據(jù)庫(kù)的模塊,其兼容于MySQLdb,使用方法也與MySQLdb幾乎相同,但是性能不如MySQLdb,但是由于其安裝使用方便、對(duì)中文兼容性也更好等優(yōu)點(diǎn),被廣泛使用。可以使用pip install pymysql進(jìn)行安裝。
    2021-09-09
  • Python matplotlib畫曲線例題解析

    Python matplotlib畫曲線例題解析

    這篇文章主要介紹了Python matplotlib畫曲線例題解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python調(diào)試過(guò)程中多顏色輸出方式

    python調(diào)試過(guò)程中多顏色輸出方式

    這篇文章主要介紹了python調(diào)試過(guò)程中多顏色輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python中連通域分割Two-Pass算法的原理與實(shí)現(xiàn)詳解

    Python中連通域分割Two-Pass算法的原理與實(shí)現(xiàn)詳解

    兩遍掃描法(?Two-Pass?),正如其名,指的就是通過(guò)掃描兩遍圖像,將圖像中存在的所有連通域找出并標(biāo)記,本文將詳細(xì)介紹Two-Pass算法的原理與實(shí)現(xiàn),需要的可以參考下
    2023-12-12
  • python使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)

    python使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)

    這篇文章主要介紹了python如何使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù),幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • 最新評(píng)論