jashliao 用 VC++ 實現 fanfuhan OpenCV 教學001 ~ opencv-001-讀取(imread)、顯示(imshow)與儲存(imwrite)圖像

jashliao 用 VC++ 實現 fanfuhan OpenCV 教學001 ~ opencv-001-讀取(imread)、顯示(imshow)與儲存(imwrite)圖像

jashliao 用 VC++ 實現 fanfuhan OpenCV 教學001 ~ opencv-001-讀取(imread)、顯示(imshow)與儲存(imwrite)圖像


資料來源: https://fanfuhan.github.io/

https://fanfuhan.github.io/2019/03/20/opencv-001/


GITHUB: https://github.com/jash-git/fanfuhan_ML_OpenCV

https://github.com/jash-git/jashliao-implements-FANFUHAN-OPENCV-with-VC


前言:



主題:

    OPENCV基本輸出入函數介紹: 讀取(imread)、顯示(imshow)與儲存(imwrire)


C++

// VC_FANFUHAN_OPENCV001.cpp : 定義主控台應用程式的進入點。
//
/*
// Debug | x32
通用屬性
| C/C++
|	| 一般
|		| 其他 Include 目錄 -> C:\opencv\build\include
|
| 連結器
| 	|一一般
|		|  其他程式庫目錄 -> C:\opencv\build\x64\vc15\lib
|
| 	|一輸入
|		| 其他相依性 -> opencv_world411d.lib;%(AdditionalDependencies)

// Releas | x64
組態屬性
| C/C++
|	| 一般
|		| 其他 Include 目錄 -> C:\opencv\build\include
|
| 連結器
| 	|一般
|		| 其他程式庫目錄 -> C:\opencv\build\x64\vc15\lib
|
| 	|一輸入
|		| 其他相依性 -> opencv_world411.lib;%(AdditionalDependencies)

*/
#include "stdafx.h"
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace std;
using namespace cv;

void pause()
{
	printf("Press Enter key to continue...");
	fgetc(stdin);
}

int main()
{
	Mat image = imread("../../images/l_hires.jpg", IMREAD_GRAYSCALE);//IDE 測試路徑
	//Mat image = imread("../../../images/l_hires.jpg", IMREAD_GRAYSCALE);//執行檔 測試路徑

	if (image.empty()) {
		cout << "could not load image..." << endl;
		pause();
		return -1;
	}
	else
	{
		namedWindow("input");
		imshow("input", image);
		imwrite("output.jpg", image);
		waitKey(0);
	}
	
    return 0;
} 

Python

import cv2 as cv

src = cv.imread("../images/liuyifei_1.png")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
cv.waitKey(0)
cv.destroyAllWindows()

結果圖:

★延伸說明/重點回顧:

    OPENCV基本輸出入函數介紹: 讀取(imread)、顯示(imshow)與儲存(imwrire)

    OPENCV在讀取影像時就可以轉灰階圖非常方便

2 thoughts on “jashliao 用 VC++ 實現 fanfuhan OpenCV 教學001 ~ opencv-001-讀取(imread)、顯示(imshow)與儲存(imwrite)圖像

  1. OPENCV 讀取(imread) 參數

    IMAGE_COLOR – 如果取這個標識的話,總是轉換圖像到彩色一體

    IMREAD_GRAYSCALE – 如果取這個標識的話,始終將圖像轉換成灰度1

  2. OPENCV 視窗 參數
    void nameWindow(const string& winname,int flags = WINDOW_AUTOSIZE) ;

    • WINDOW_AUTOSIZE 視窗大小自動適應圖片大小,並且不可手動更改。(上面圖1就是使用的它)
    • WINDOW_NORMAL 使用者可以改變這個視窗大小(上面圖2就是使用的它)
    • WINDOW_OPENGL 視窗創建的時候會支援OpenGL

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *