發表文章

opencv 視訊馬賽克效果_調用resize API

圖片
opencv_馬賽克效果 影像的解析度設定 / 影像之縮放 可以藉由  resize這個方法 void resize(InputArray src,                      OutputArray dst,                      Size dsize,                      double fx=0,                      double fy=0,                      int interpolation=INTER_LINEAR ) InputArray : 輸入圖 OutputArray : 輸出圖:型態會和輸入圖相同(皆為Mat) dsize:輸出尺寸,當輸入為0時,fx、fy皆不可為0,可使用 Size(寬,高) 或者 CvSize(寬,高) fx:水平縮放比率,當輸入為0時,fx=(double)dsize.width/src.cols fy:垂直縮放比率,當輸入為0時,fy=(double)dsize.height/src.rows interpolation:內插方式 內插方式有以下幾種可選: CV_INTER_NEAREST :最鄰近插點法 CV_INTER_LINEAR :雙線性插補(預設) CV_INTER_AREA :臨域像素再取樣插補 CV_INTER_CUBIC :雙立方插補,4×4大小的補點 CV_INTER_LANCZOS4 :Lanczos插補,8×8大小的補點 當我們縮小影像時,使用CV_INTER_AREA會有比較好的效果...

一個遠程目標_影像處理/辨識演算法工程師

圖片
我到底會這些技術對未來有捨麼幫助呢?? 我還有欠缺捨麼條件 ? 欠缺捨麼技能 ? 欠缺捨麼經驗呢 ? 影像處理演算法工程師 http://www.104.com.tw/job/?jobno=4ogvc&jobsource=104_sjob 條件要求 接受身份: 上班族、應屆畢業生 工作經歷: 1年以上 學歷要求: 碩士以上 科系要求: 數學及電算機科學學科類、電機電子工程相關 語文條件: 不拘 擅長工具: C 、 C++ 、 Java 、 Matlab 、 Visual C++ 、 Visual Studio .net 工作技能: 不拘 其他條件: 未填寫 影像/視訊演算法工程師 http://www.104.com.tw/job/?jobno=4n3nt&jobsource=104_sjob 視覺影像軟體設計主任 http://www.104.com.tw/job/?jobno=4k56i&jobsource=104_sjob 影像辨識演算法工程師 電腦視覺/機器學習演算法工程師 http://www.104.com.tw/job/?jobno=4uvbh&jobsource=104_sjob 影像處理工程師 http://www.104.com.tw/job/?jobno=2vsa9&jobsource=104_sjob

Kinect V2 _ 數據源處理及獲得統整_獲取特定骨節點數據

先備知識 Kinect V2 在Windows Form 上的配置教學_秀彩色影像_L1 link :  http://coolmandiary.blogspot.tw/2016/04/kinect-v2-windows-form.html KinectV2_骨節點_分析 link :  http://coolmandiary.blogspot.tw/2016/06/kinectv2.html 再度開啟Kinect_深度影像分析 link :  http://coolmandiary.blogspot.tw/2016/06/kinect.html 【程式碼】 //Standard Library #include <iostream> #include <stdio.h> //OpenCV Header #include <opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<opencv2\imgproc\imgproc.hpp> #include<opencv2\video\background_segm.hpp> using namespace cv; using namespace std; // Kinect for Windows SDK Header #include <Kinect.h> const string get_name(int n); //判斷關節的名字 int main( ) { /* (1) 取得 Sensor (2)選擇你所要讀取的資料源(data source) / Select the data source to read from (3)處理從資料源讀取到的資料 / Handle the data you read from the source */ //取得預設傳感器並開啟 IKinectSensor * mySensor = nullptr; GetDefaultKinectSens...

opencv_如何存取影像資訊

圖片
可清楚看到  RGB 值 為 (255,0.0) 我們現在要試著練習把這些值存到txt當中 這裡介紹一個好朋友   叫做  ofstream cplusplus 參考連結:   http://www.cplusplus.com/reference/fstream/ofstream/ofstream/ 一般我們習慣使用open()來開啟檔案串流,使用get()或put()來進行輸出入 這是 C語言 的作法 在C++中,可以直接操作串流來進行檔案的輸出入。 不必使用open()來開啟串流 ifstream、ofstream 和 fstream 都有建構函式,可以直接指定檔案並開啟串流 需要包含的頭文件: <fstream>  ifstream --從已有的文件讀  ofstream -- 向文件寫內容  fstream - 打開文件供讀寫 語法: ifstream file2("c:\\pdos.def"); //以 輸入 方式打開文件 ofstream file3("c:\\x.123");    //以 輸出 方式打開文件 【程式碼】 #include<stdio.h> #include<iostream> #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<fstream> using namespace cv; using namespace std; int main(int, char**) { IplImage *img = cvLoadImage("C:\\img_res\\red.jpg", 1); ofstream fout("C:\\img_res\\info_of_photo.txt"); // 在此目錄 以輸出方式開啟文件 CvScalar s;//存取BGR 數值 結構體 cout << "\n 開始保存\n"; ...

opencv_SVM分類器小筆記_L1

圖片
【程式碼】 #include <stdio.h> #include<iostream> #include <ctype.h> #include <opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<opencv2/ml/ml.hpp> using namespace cv; using namespace std; int main(int argc, char** argv) { CvSVMParams params; //設定 SVM 參數用的物件 //以下設定 SVM 參數 params.svm_type = CvSVM::C_SVC; params.kernel_type = CvSVM::RBF; //Kernel Function 推薦使用 RBF params.gamma = 3; params.C = 100; const int num_data = 5; //資料數 const int num_column = 2; //欄位數 Mat training_mat(num_data, num_column, CV_32FC1); //訓練陣列 Mat labels(num_data, 1, CV_32FC1); //標籤 //五筆訓練資料陣列 int data[num_data][num_column] = { { 100, 50 }, { 50, 100 }, { 200, 10 }, { 20, 40 }, { 30, 10 } }; //針對以上五筆資料個別的答案,如果 左比右大 標 1 , 否則 標 -1 int label[num_data] = { 1, -1, 1, -1, 1 }; //將資料和 label 分別塞入資料結構中 for (int n = 0; n < num_data; n++){ f...

opencv _ Laplacian webcam effect 拉普拉斯運算

圖片
拉普拉斯運算 Laplacian ( InputArray src ,                     OutputArray dst ,                     int ddepth ,  // CV_8U                    int ksize , //計算第二階導函數(second derivate) , 光圈大小(aperture size),                    double scale=1 ,                     double delta = 0 ,                     int borderType = BORDER_DEFAULT) 其中   ksize 必為正奇數 當他為1時 第5 到  第7參數  可省略 【程式碼】 #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main() { VideoCapture camera; camera.open(0); if (!camera.isOpened() ) return 0; //設置 寬、高 camera....

使用openGL繪製正方立體空盒

圖片
【程式碼】 #include <stdlib.h> //#include "GL/glut.h" #include <GL/glut.h> #include <iostream> using namespace std; void Cube_ex(int argc, char *argv[]); void init(); void SetLight(); void display(); //光源 void SetLight(){ GLfloat light_ambient[] = { 0.5f, 0.5f, 1.0f, 1.0f }; GLfloat light_diffuse[] = { 0.5f, 0.5f, 0.9f, 1.0f }; GLfloat light_specular[] = { 0.5f, 0.5f, 0.9f, 1.0f }; GLfloat light0_position[] = { -100.0, 100.0, 100.0, 1.0 }; GLfloat spot0_direction[] = { 0.0, -1.0, 0.0 }; GLfloat light1_position[] = { 10.0, -10.0, -10.0, -1.0 }; GLfloat spot1_direction[] = { 0.0, 1.0, 0.0 }; //Light0 glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular); glLightfv(GL_LIGHT0, GL_POSITION, light0_position); glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spot0_direction); //Light1 glLightfv(GL_LIGHT1, GL_AMBIE...

Kinect V2 _ 同時取得 彩色影像 和 深度影像

圖片
【程式碼】 #include <opencv2/opencv.hpp> #include<opencv2/highgui/highgui.hpp> #include <Windows.h> #include <Kinect.h> using namespace std; using namespace cv; template<class Interface> inline void SafeRelease(Interface *& pInterfaceToRelease) { if (pInterfaceToRelease != NULL){ pInterfaceToRelease->Release(); pInterfaceToRelease = NULL; } }; class Kinect { protected: Kinect(){} public: virtual ~Kinect(){} virtual void update() = 0; virtual Mat* getColorMat() = 0; virtual Mat* getDepthMat() = 0; //virtual KINECTVERSION getKinectVersion() = 0; }; #pragma once /* Kinect v2 Specs * Depth Resolution: 512 x 424 px * Color Resolution: 1920 x 1080 px * Depth Range: 50 cm to 8000 cm * Horizontal FOV: 70° * Vertical FOv: 60° */ class KinectV2 : public Kinect { private: static const int cColorWidth = 1920; static const int cColorHeight = 1080; //Kinect Variables...

如何在visual studio配置openGL_再試一次_GO~

圖片
Visual Studio配置OpenGL 兩步驟: (一)下載glut,並將其放置到適當的位置 (二) 進行vs2013項目屬性配置 官方網站 link :  http://www.transmissionzero.co.uk/software/freeglut-devel/ 選擇 最新版的 freeglut 3.0.0  做 download 不然就會跟我第一次配置一樣  總是不成功 接著我們開啟  vs2013  創建一個新的 win32 C++ 專案 檔案 -->  新增 --> 專案 --> 下一步  --> 空專案 --> 下一步 右側  -->  對  原始程式碼檔  -->  右鍵 --> 加入 --> 新增項目 取名為  main.cpp 按下   新增   緊接著    專案  -->  屬性 step1.  先去  C/C++  --> 一般 --> 其他Include目錄 添加  C:\freeglut\include step2. 再去  連結器 --> 一般 --> 其他程式庫目錄 添加  C:\freeglut\lib step3.  去 連結器 --> 輸入 --> 其他相依性 添加 freeglut.lib 之後 試著寫簡單的繪圖程式  進行測試  是可運行 大功告成

智慧資傳茶飲POS系統_資傳三乙股份有限公司

圖片
人機介面 — 期末作品 智慧資傳茶飲 POS 系統 一、 介面設計細節說明 「起初登入畫面」 本系統在起初會需要使用者進行登入,並在輸入正確密碼後 給予語音回應 (Voice Response) ,解析度採用 460*380 的大小。 在上方採用 pictureBox 去進行登入介面的設計,不僅採用 地中海希臘風格的藍白顏色搭配更融入加拿大的楓葉飄灑之美 讓使用者不僅在視覺上和聽覺上都有感受,更不忽略安全性管控問題。 「點餐主畫面」 在本系統中,點餐主畫面採用 1166*768 的大小 讓點餐的員工可以更加迅速完成點餐進度更可便利計算 消費者點的餐點各自的總價自動計算功能 此外也添加了資料庫紀錄功能 下方使用優質的 dataGridView 控建 設計一個能夠協助使用者 自動添加每一筆點餐紀錄,且添加了自動排序添加最新一筆紀錄的功能,優秀的刪除功能 ( 具備複選刪除或單筆刪除的功能 ) 藉此讓使用者能夠便利紀錄所有點餐訂單包括訂單時間 【客製化選單部分】 在客製化選單部分,在此我們考量到使用者會有需要應付不同需求的消費者點餐需求,會有去冰、半糖甚至加耶果的功能。這裡借用 checkBox 控建來協助我們進行不同客製化需求的訂購服務。 【飲料選單 Menu 部分】 我們採用   listView 控建並搭配 checkBox 屬性,使用者在按下兩個按鈕後會自動跳出 listView 控建去進行多種不同顯示方式的切換協助可能會有近視眼的使用者來更容易判讀,單純顯示產品圖片或者和價格一併顯示。 【大圖示】 此外更加入優秀的提示字框,讓店員在進行不同產品的介紹時,可以有相關提示訊息。 【小圖示】 【清單】 【詳細】 【點餐過程使用方法】 刪除訂單兩種方法 法一 . 單...