轉眼間就27天了,那麼今天就講OpenCV吧!
Brew
brew install opencv
CMakeLists
cmake_minimum_required(VERSION 3.1..3.15)
project(helloCV)
# Default
# Add Library Path:
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
# Add Library:
find_package( OpenCV )
include_directories( ${OpenCV_INCLUDE_DIRS} )
find_package(fmt)
# Build:
add_executable(main src/main.cpp)
# Link Libraries:
target_link_libraries(main ${OpenCV_LIBS})
target_link_libraries(main fmt::fmt)
# C++ Version:
target_compile_features(main PUBLIC cxx_std_17)
OpenCV 要實現圖片Upscaling去適配高分辨率屏幕其實不難。
這裏需要5步
1.讀取圖片
2.放大圖片
3.把圖片寫入到另一個圖片
4.打開圖片來看
以下展示他的API
#include "opencv2/opencv.hpp"
#include <string>
using namespace cv;
using namespace std;
int main(int argc, char **argv){
//先建立一個OpenCV的圖片
Mat image;
//然後讓這個圖片讀取文件,後面的以是預設的意思,你可以改成 IMREAD_GRAYSCALE
image = imread(argv[1],1);
//resize第一個是input,第二個是output(兩個都是OpenCV的圖片format啦),第三個預設Sizing方法
resize(image, large, Size(), 3.0, 3.0, INTER_AREA);
//寫入到 large.jpeg
imwrite("large.jpeg", large);
//直接用OpenCV 顯示圖片
namedWindow("Display Image", WINDOW_AUTOSIZE);
imshow("Display Image", large);
//這個是CV的等待結束程式的意思
waitKey(0);