1. 程式人生 > >opencv 影象的讀取顯示和儲存

opencv 影象的讀取顯示和儲存

opencv影象處理系統組成(個人見解)
影象獲取:本地載入圖片(jpg,bmp,png)
: 相機獲取影象Frame Byte
: 視訊獲取資料
:建立影象CreateImage(IPL,cvMat,Mat)
操作處理 :影象加減 ,通道分離合並 ,閾值化,濾波
直方圖分析、傅立葉變換、形態學處理
影象金字塔 、邊緣檢測、霍夫變換、輪廓分析
影象變換與匹配
資訊提取

:輪廓資訊提取
直方圖分佈
頻域資訊
人臉 識別
結果輸出:處理後的影象輸出
引數輸出
資訊輸出顯示
——————————————————————
影象基本操作
影象讀取—————— imread()
視窗建立——————namedWindow()
影象顯示——————imshow()
影象儲存——————imwrite()
資源釋放——————destroyWindow()||destroyAllWindows() ——-release

示例程式
:實現功能
讀取影象並進行灰度處理

#include"opencv2/imgproc/imgproc.hpp"
#include"opencv2/highgui/highgui.hpp"
using namespace cv;//使用cv名稱空間
void main()
{
    Mat srcImg=imread("1.jpg");//讀取圖片
    cvtColor(srcImg,srcImg,CV_BGR2GRAY);//轉為灰度圖
    Canny(srcImmg,srcImg,30,100);canny邊緣檢測
    namedWindow("img,WINDOW_AUTOSIZE"
);//建立視窗 imshow("img",srcImg);//顯示圖片 imwrite("1.bmp",srcImg);//儲存結果圖片 waitKey(0);//暫停按鍵等待 }

也可以用 #include”opencv2/opencv.hpp”
或者——————————————————————————————
#include “opencv2/core/core.hpp”
#include”opencv2/highgui/highgui.hpp”
#include”opencv2/imgproc/imgproc.hpp”
————————————————————————————————
imread()函式
Mat imread(const string&filename,int flags=1);
第一個引數,需要填入圖片路徑名,支援如下格式:
Windows點陣圖:.bmp,.dib
JPEG檔案:.jpeg .jpg *.jpe
JPEG2000檔案 :*.jp2
PNG圖片:*.png
便攜檔案格式:.pbm .pgm *.ppm
Sun resters光柵檔案:.sr .ras
TIFF檔案 :tiff .tif
第二個引數 指定載入影象的顏色型別 預設為1:
enum
{
// 8bit,color or not/
CV_LOAD_IMAGE_UNCHANGED=-1;
//8bit,gray/
CV_LOAD_IMAGE_GRAYSCALE=0;
//color
CV_LOAD_IMAGE_COLOR=1;
//any depth/
CV_LOAD_IMAGE_ANYDEPTH=2;
//?,any color/
CV_LOAD_IMAGE_ANYCOLOR=4;
}

namedWindow()函式
函式原型
namedWindow(const string&winname,int flags=WINDOW_AUTOSIZE);
1)第一個引數,設定作為標識的視窗名稱
2)第二個引數,視窗顯示方式,取值如下:
//Flags for namedWindow
WINDOW_NORMAL=CV_WINDOW_NORMAL,
WINDOW_AUTOSIZE=CV_WINDOW_AUTOSIZE,
WINDOW_OPENGL=CV_WINDOW_OPENGL,
Normal:正常大小顯示,使用者可以改變視窗大小
Autosize:根據影象大小自動調整,使用者不能手動改變視窗大小
OpenGL:支援openGL
——————————————————————————————————
imshow()函式
imshow(const string&winname,InputArray mat);
1)第一個引數,設定需要顯示的視窗名稱
2)第二個引數,填寫需要顯示的影象
注:函式中出現InputArray/OutputArray 可以先做Mat型別
**——————————————————————————————————
imwrite()函式**
bool imwrite(const string&filename,InputArray img.const vector&parames=vector());
1)第一個引數,設定儲存的檔名,需填寫字尾 如“”1.bmp“”
2)第二個引數,要儲存的Mat型別的影象資料
3)第三個引數,表示特定格式儲存的引數編碼,一般採用預設值不填寫
————————————————————————————————
waitKey()函式
1)第一個引數,如果delay>0,表示等待delay毫秒之後結束,如果delay=0,表示無限等待,直到有按鍵按下結束
2)返回值為對應的按下按鍵的ASCII值,如Esc的ASCII碼的27
——————————————————————————————————
補充知識(影象屬性)
1).empty()判斷檔案讀取是否正確
2).rows 獲取影象行數(高度)
3).cols 獲取影象列數(長度)
4).channels()獲取影象通道數
5).depth()獲取影象位深度
例子
Mat img=imread(“1.jpg”);
if(img.empty())
{
std::cout<<”read image error!”
}
———————————-———————————————————

相關推薦

opencv 影象讀取顯示畫素操作

從今天起,開始從頭系統學習下opencv,下面記錄下影象的基本操作: 1. 影象的讀取和顯示 Mat image = imread(imagePath, 1); 第二個引數表示圖片讀入的方式(

opencv 影象讀取顯示儲存

opencv影象處理系統組成(個人見解) 影象獲取:本地載入圖片(jpg,bmp,png) : 相機獲取影象Frame Byte : 視訊獲取資料 :建立影象Cre

opencv實現影象的灰度轉換,均值濾波,實現影象顯示儲存

#include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include <opencv2/core/core.hpp> #include <iostrea

opencv:影象的建立儲存

示例程式碼: #include <opencv.hpp> #include <vector> using namespace std; using namespace cv;

openCV-Python筆記一:影象讀取顯示儲存

使用cv2.imread(),cv2.imshow(),cv2.imwrite()讀取、顯示和儲存影象 一、讀入影象 使用函式cv2.imread(filepath,flags)讀入一副圖片 filepath:要讀入圖片的完整路徑flags:讀入圖片的標誌 cv2.I

openCV+python影象讀取顯示儲存

使用cv2.imread(),cv2.imshow(),cv2.imwrite()讀取、顯示和儲存影象 一、讀入影象 使用函式cv2.imread(filepath,flags)讀入一副圖片 filepath:要讀入圖片的完整路徑 flags:讀入圖片的標誌 cv2

OpenCV Python教程(1、影象的載入、顯示儲存

轉載請詳細註明原作者及出處,謝謝! 本文是OpenCV  2 Computer Vision Application Programming Cookbook讀書筆記的第一篇。在筆記中將以Python語言改寫每章的程式碼。 PythonOpenCV的配置這裡就不介紹了。 注

Python3+OpenCV學習筆記(一):影象載入、顯示儲存

img = cv2.imread('Rachel.jpg')載入影象後,當然需要顯示出來,我們才能看到,所以,接下來用到第二個函式cv2.imshow(windowname, filename)“windowname”輸入顯示視窗的名稱,引數型別str,需要開啟多個視窗時,只需要“windowname”不同

opencv影象讀取cv::Mat

1、在opencv的C++ API中,所有的類和函式都在名稱空間cv內定義,可以使用 using namespace cv; 或者是加上字首 cv:: 2、imread讀入影象 生成的影象由無符號(unsigned char)構成(OpenCV中為C

matlab裡點雲的讀入顯示儲存

點雲的讀入 pcread和importdata函式完成了這個功能。 pcread ptCloud = pcread(filename) 從PLY、PCD讀取指定路徑的點雲。反回一個pointCloud物件。 importdata 像他的名字 匯入資料,並不是特指點雲檔案,可以是陣

C++讀取txt儲存到txt

  哇,今天又重新用C++來寫了一些程式碼發現自己竟然在類的使用和檔案讀取和儲存上面特別頭疼,於是,各種問度娘+各種翻看之前的程式碼。不禁感嘆,自己的程式碼還是寫的太少了,對這些一點都不熟悉。於是,今晚!一定!要!好好!總結!提升!   首先,類的使用方式: 2 Walking *a =

PLC 初學三通道點雲的賦值、顯示儲存

  #include <pcl/visualization/cloud_viewer.h> #include <iostream> #include <fstream> #include <pcl/io/io.h> #include

WINCE5.0利用C#語言編寫的串列埠採集、顯示儲存

          首先簡單說一下該程式實現的功能:定時採集現場的資料,在介面上實時顯示裝置資料,同時將採集到的裝置資料儲存到sqlite中,以方便第三方資料呼叫。該程式使用在wince5.0中,使用的是VS2008 C#語言。         內容涉及到wince同步的應

opencv 影象的深度通道介紹

矩陣資料型別: – CV_<bit_depth>(S|U|F)C<number_of_channels> S = 符號整型 U = 無符號整型 F = 浮點型 E.g.: CV_8UC1 是指一個8位無符號整型單通道矩陣, CV_32FC2是指一個32位浮點型雙通道矩

android從網路獲取圖片並顯示儲存

如何不斷獲取圖片並顯示出來,達到視訊的效果。 程式碼: <span style="font-size:12px;">publicclass GetPictureFromInternetActivity extends Activity  {      p

0002-OpenCV影象進行讀取顯示儲存的原始碼!

程式碼流程如下: 讀取源影象→轉化化灰度圖→儲存輸出圖片檔案到本地程式碼如下: 程式碼中涉及到的圖片下載地址:http://pan.baidu.com/s/1c14zqik 密碼:lil3影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋公眾號"qxsf321",並關注! //

Opencv-Python:影象尺寸、影象讀取顯示儲存與複製

在使用opencv的方法時,首先必須匯入opencv包。新的opencv匯入cv2,這裡也和cv做了一個對比 import cv2 一、影象尺寸 影象的大小可以通過其shape屬性來獲取,shape返回的是一個tuple元組,第一個元素表示影象的高度,第二個表示影象的寬度,第三個表示畫素

Opencv-python】影象讀取、展示儲存

import cv2 #1、讀入影象 img = cv2.imread("C:/leng.jpg") # 2、展示影象 第一個引數是圖片名字,第二個引數才是圖片 cv2.imshow("lena",img) # 3、前一幀影象到下一幀影象的重新整理間隔時間

1、python-opencv讀取圖片、顯示圖片儲存

cv2.waitKey() 是一個鍵盤繫結函式。需要指出的是它的時間尺度是毫秒級。函式等待特定的幾毫秒,看是否有鍵盤輸入。特定的幾毫秒之內,如果按下任意鍵,這個函式會返回按鍵ASCII碼值,程式將會繼續執行。如果沒有鍵盤輸入,返回值為-1,如果我們設定這個函式的引數為 0,那它將會無限期的等待鍵盤輸入。cv

OpenCV+ MFC 對影象讀取顯示儲存

一、安裝和配置 安裝opencv,vc6.0配置工程目錄 Include目錄: E:\PROGRAM FILES\OPENCV\OPENCV1.0\CV\INCLUDE E:\PROGRAM FILES\OPENCV\OPENCV1.0\CVAUX\IN