直播軟體開發,影像視訊的讀取與儲存,以及呼叫相機拍攝
直播軟體開發,影像視訊的讀取與儲存,以及呼叫相機拍攝實現的相關程式碼
1、圖片的讀取、顯示和儲存
//圖片的讀取與儲存 #include <stdio.h> #include <iostream> #include <string> #include <opencv2\opencv.hpp> using namespace std; using namespace cv; int main() { cv::Mat a; a = cv::imread("picture.jpeg", IMREAD_GRAYSCALE);//以灰色影像讀取 if (!a.empty()) { cout << "影像讀取成功" << endl; } else return -1; cv::namedWindow("小黃人",WINDOW_NORMAL);//WINDOW_NORMAL使視窗可以調整大小,更多可選引數檢視原始碼 cv::imshow("小黃人", a); if (cv::imwrite("picture_gray.png", a)) { cout << "影像儲存成功" << endl; } else cout << "影像儲存失敗" << endl; cv::waitKey(0);//防止圖片一閃而過 return 0; }
2、視訊的讀取、顯示和儲存
//視訊的讀取與顯示 #include <stdio.h> #include <iostream> #include <string> #include <opencv2\opencv.hpp> using namespace std; using namespace cv; int main() { VideoCapture video("xiaohuangren.mp4"); if (!video.isOpened()) { cout << "視訊打不開" << endl; } else { cout << "視訊中影像的寬度:" << video.get(CAP_PROP_FRAME_WIDTH) << endl; cout << "視訊中影像的高度:" << video.get(CAP_PROP_FRAME_HEIGHT) << endl; cout << "視訊的幀率:" << video.get(CAP_PROP_FPS) << endl; cout << "視訊的總幀數:" << video.get(CAP_PROP_FRAME_COUNT) << endl; } while (1) { Mat frame; video >> frame; if (frame.empty()) { break;//所有幀影像都賦值給frame後再賦值一次frame變為空 } cv::imshow("小黃人", frame); waitKey(1000 / video.get(CAP_PROP_FPS)); } waitKey(0); return 0; } //呼叫攝像頭進行拍攝顯示 #include <stdio.h> #include <iostream> #include <string> #include <opencv2\opencv.hpp> using namespace std; using namespace cv; int main() { VideoCapture video(0);//0表示攝像頭的ID號 if (!video.isOpened()) { cout << "視訊打不開" << endl; } else { cout << "視訊中影像的寬度:" << video.get(CAP_PROP_FRAME_WIDTH) << endl; cout << "視訊中影像的高度:" << video.get(CAP_PROP_FRAME_HEIGHT) << endl; cout << "視訊的幀率:" << video.get(CAP_PROP_FPS) << endl; cout << "視訊的總幀數:" << video.get(CAP_PROP_FRAME_COUNT) << endl; } while (1) { Mat frame; video >> frame; cv::imshow("你", frame); waitKey(10); } waitKey(0); return 0; } //呼叫攝像頭進行拍攝並儲存視訊 #include <stdio.h> #include <iostream> #include <string> #include <opencv2\opencv.hpp> using namespace std; using namespace cv; int main() { Mat img; VideoCapture video(0); if (video.isOpened()) { cout << "攝像頭開啟成功" << endl; } else { cout << "攝像頭開啟失敗" << endl; return -1; } video >> img; if (img.empty()) { cout << "圖片拍攝失敗" << endl; } bool is_color = (img.type() == CV_8UC3);//判斷圖片是否為彩色影像 VideoWriter writer; int video_encode = VideoWriter::fourcc('D','I','V','X'); writer.open("video_camera.mp4", video_encode, 30, img.size(), is_color);//30表示幀率 while (1) { if (!(video.read(img))) { cout << "攝像頭讀取完畢或者攝像頭斷開連線" << endl; break; } writer.write(img); imshow("video", img); char c = waitKey(50); if (c == 27) { break; } } return 0; }
以上就是 直播軟體開發,影像視訊的讀取與儲存,以及呼叫相機拍攝實現的相關程式碼,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2868513/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Cordova開發app——短視訊拍攝APP
- opencv python 從攝像頭獲取視訊/從檔案獲取視訊 /儲存視訊OpenCVPython
- 短視訊系統,獲取camera的的影像並儲存
- 3、Opencv播放視訊、儲存、暫停視訊,開啟攝像頭OpenCV
- 開發直播app軟體過程中的雲端儲存和備份APP
- 直播軟體app開發與相愛相殺的短影片如何共同穩住局面APP
- 直播平臺軟體開發過程中的雲端儲存和備份
- 超融合、軟體定義儲存、分散式儲存以及Server SAN的區別與聯絡分散式Server
- iOS 儲存攝像頭H264視訊流iOS
- matlab呼叫攝像頭並儲存成幀的形式Matlab
- android短視訊開發,呼叫相機、相簿,壓縮圖片後上傳Android
- Android 拍攝(橫 豎屏)視訊的懶人之路Android
- Spark(16) -- 資料讀取與儲存的主要方式Spark
- Avatar虛擬形象解決方案,趣味化的影片拍攝與直播新體驗
- 工具素材分享篇:拍攝剪輯與視訊製作必備!
- flutter系列之:在flutter中使用相機拍攝照片Flutter
- 一文讀懂瀏覽器儲存與快取機制瀏覽器快取
- 手機 全景拍攝
- 直播平臺製作,利用python批量讀取儲存圖片Python
- 2.影像的載入與儲存
- 開源的NAS軟體專案儲存
- 讀取和儲存Excel表Excel
- 直播軟體開發,JS生成隨機字串的方法JS隨機字串
- MimoLive for Mac視訊直播製作軟體Mac
- MimoLive for Mac(視訊直播製作軟體)Mac
- android 短視訊開發,使用者選擇記住密碼,再次登入自動讀取儲存密碼Android密碼
- OpenCV計算機視覺學習(1)——影像基本操作(影像視訊讀取,ROI區域擷取,常用cv函式解釋)OpenCV計算機視覺函式
- 一張圖讀懂軟體定義儲存
- spark學習筆記--資料讀取與儲存Spark筆記
- Python中檔案讀取與儲存程式碼示例Python
- java+pgsql實現儲存圖片到資料庫,以及讀取資料庫儲存的圖片JavaSQL資料庫
- 短視訊直播系統開發直播短視訊程式搭建短視訊互動直播
- 影像的讀取,
- 視覺slam十四講CH5 ---相機與影像視覺SLAMH5
- 全景拍攝“快門時間”相機引數設定策略
- 搭建直播原始碼與軟體開發的注意事項原始碼
- java讀取(華視)刷卡機的刷卡資訊Java
- 一、WebCam + PHP 拍攝並儲存照片WebPHP