Skip to content

Instantly share code, notes, and snippets.

View MarcWang's full-sized avatar

MarcWang MarcWang

  • 吾微而智
View GitHub Profile

什麼是「分享經濟」? What is the sharing economy?

The word "economy" can be seen as a bit of dirty word these days, but add the word "sharing", and suddenly things seem a little brighter.

「經濟」這個詞在這個時代聽起來可能有點不好,但加上「分享」這兩個字,感覺就好多了。

However, with just 5% of the UK public alone fully understanding what the sharing economy is.

Color Conversion using OpenCV

注意OpenCV讀取影像的影像格式是BGR而不是RGB,所以後續不管是要使用OpenCV提供的API轉換色彩空間或者自行取值運算都要特別注意。以下我們會提供RGB與YCrCb、HSV、HSL、CIE-Lab、XYZ等色彩轉換的公是與方法。

cv::Mat srcImg = cv::imread("lena.jpg", CV_LOAD_IMAGE_COLOR);

//BGR to Gray Color Space
cv::Mat bgr2grayImg;

美國隊長3:英雄內戰 預告片2 (Marvel's Captain America: Civil War - Trailer 2)

This job

這個工作

Try to save as many people as we can

IP Camera Access using OpenCV and VLC

如果想要用OpenCV接收IPcam的串流來源,其中一種方法可以透過VLC的Library實現。

OpenCV下載

下載Windows版本,解壓縮後會看到build資料夾裡有已經編譯完的Visual Studio library,指要選擇你需要的版本便可。

  • Header檔位置 : \opencv\build\include
  • Library檔位置: \opencv\build\x86\vc10\lib

Receiving RTSP stream using FFMPEG and OpenCV

如果想要用OpenCV接收IPcam的串流來源,其中一種方法可以透過FFMPEG的Library實現。

首先電腦必須安裝FFMPEG

以下是Sample Code:

#include "stdafx.h"

Resize Image using OpenCV

如果要對影像做縮放,OpenCV有提供Resize的API可以調用。

C++ API

void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )

C API

Capture Video from File using OpenCV

一般的影像來源分為兩種,一個是圖片(image),一個就是串流,雖然串流(stream)也是會切成一張一張的影像在做影像操作。

而串流(stream)又可分為視訊串流跟影片串流,這裡介紹如何從影片檔案得到串流,再切成影像進行操作。

C API

int main( int argc, const char** argv )
{

Get a list of Camera Devices using OpenCV

使用方式為依序輸入每一個device,直到回傳 null or false代表找不到裝置為止

C API

CvCapture *cap;
int device_counts = 0;
while ( true ) {
 cap = cvCreateCameraCapture( device_counts++ );

Set or Get Property from Camera using OpenCV

欲想對視訊操作解析度、白平衡、FPS等可透過VideoCapture.set()實現。

參數

  • CV_CAP_PROP_POS_MSEC 影片播放毫秒
  • CV_CAP_PROP_POS_FRAMES 影片播放幀數
  • CV_CAP_PROP_POS_AVI_RATIO 影片播放百分比
  • CV_CAP_PROP_FRAME_WIDTH 影像解析度(寬)
  • CV_CAP_PROP_FRAME_HEIGHT 影像解析度(高)

Resize and Rotate Image using OpenCV

有時候需要對影像做旋轉、縮放時,可以透過簡單的數學運算可得到結果。

OpenCV有提供cvGetQuadrangleSubPix讓開發者自行調整影像的變化程度。

範例環境:

  • Visual Studio 2010
  • Windows 7
  • OpenCV 2.4.5