1. 程式人生 > >opencv讀取,顯示,寫入圖片(關於imwrite函式)

opencv讀取,顯示,寫入圖片(關於imwrite函式)

OpenCV中最基本的操作:讀取、顯示、儲存圖片。

OpenCV2.0版本引入與Matlab命令相同的函式,imread、imshow、imwrite,獲取圖片更將方便。

讀取檔案 imread

1Mat imread(conststring&filename,intflags=1)

其中flags表示載入後圖片的顏色模式。

CV_LOAD_IMAGE_UNCHANGED (0) 以RGB模式載入圖片

顯示圖片需要一個視窗。

建立視窗 namedWindow

1 voidnamedWindow(conststring&
winname,intflags=WINDOW_AUTOSIZE)

CV_WINDOW_AUTOSIZE 視窗大小自動調整到顯示圖片的大小
CV_WINDOW_NORMAL 只在Qt中使用,可以改變視窗大小

顯示圖片 imshow

1voidimshow(conststring&winname,InputArray mat)

在視窗中顯示圖片,對於NORMAL的視窗,把圖片縮放到視窗固定大小,再顯示。根據影象資料的深度,對影象進行下面的處理:

8-bit unsigned 直接顯示
16-bit unsigned or 32-bit integer 畫素點值除以256,即把[0,255*256] 對映到 [0,255]
32-bit floating-point 畫素點值乘以255,即把[0,1] 對映到 [0,255]

所以,imshow可以正常顯示取值範圍[0,255]的uchar型影象、取值範圍[0,1]的float或double型別影象,中間一種資料格式沒用過。

顯示影象後,為了避免程式向下執行以致視窗一閃而過,需要等待一旦時間,waitKey正是這個功能。

等待鍵盤按鍵 waitKey

1 intwaitKey(intdelay=0)

delay小於等於0時,一直等待,只到使用者按鍵,再繼續執行。
delay大於0時,在delay微秒內等待使用者按鍵。

處理過的影象需要儲存到檔案中。

儲存影象 imwrite

1boolimwrite(conststring&filename,InputArray img,constvector&params=vector())

params中的每個引數成對出現,即paramId_1, paramValue_1, paramId_2, paramValue_2, … ,當前支援如下引數:

JPEG:壓縮質量 ( CV_IMWRITE_JPEG_QUALITY ),從0到100(數值越高質量越好),預設值為95。
PNG:compression level ( CV_IMWRITE_PNG_COMPRESSION ) 從0到9。 數值越高,檔案大小越小,壓縮時間越長。預設值為3。
PPM, PGM, or PBM:二進位制標誌 ( CV_IMWRITE_PXM_BINARY ),0 或 1。預設值為1。

還有一組函式,用於從記憶體讀取資料和向記憶體寫入資料。

從記憶體讀圖片 imdecode

1 Matimdecode(InputArraybuf,intflags)

寫圖片到記憶體 imencode

1boolimencode(conststring&ext,InputArray img,vector&buf,constvector&params=vector())

ext – 圖片的副檔名
img – 要儲存的圖片
buf – 輸出快取,改變大小以適應資料
params – 格式相關的引數,參見imwrite。

#include <iostream>#include <fstream>#include <cv.h>#include <highgui.h>usingnamespacestd;usingnamespacecv;doublegetPSNR(Mat&

相關推薦

基於centos6.5快速搭建jdk,tomcat,nginx顯示個人靜態頁面基於yum

前言:在如今這個時代,相信不少人都會在網上,做一個個人主頁來展示自己,用於展示自我,求職或者為搭建個人網站做準備等等。相信很多人的雲主機都是選擇Linux系統吧。在這裡,我推薦CentOS系統啊,一個開源免費的系統,而且擁有yum的存在,在安裝程式時要方便很多呢。要知道,編

Android中GridView以表格形式顯示多張圖片仿桌面

  GridView可以理解為顯示多列的ListView,這次就利用GridView做一個仿桌面的案例。GridView和ListView的使用相同,都基本使用以下三步走:設定資料來源,設定介面卡,

opencv讀取顯示寫入圖片關於imwrite函式

OpenCV中最基本的操作:讀取、顯示、儲存圖片。 OpenCV2.0版本引入與Matlab命令相同的函式,imread、imshow、imwrite,獲取圖片更將方便。 讀取檔案 imread 1Mat imread(conststring&filename,intfl

深度學習opencv讀取圖片歸一化顯示多張圖片顯示

import numpy as np import cv2 def cv_norm_proc(img): # cv_norm_proc函式將圖片歸一化 [-1,1] img_rgb = (img / 255. - 0.5) * 2 return img_rgb def cv_in

angularjs手機webapp 利用input拍照相簿選擇、縮圖顯示 上傳圖片

執行後的截圖: html程式碼 <ul class="list_img"> <li ng-repeat="imageSrc in imgshows track by $index"> <img n

python PIL和CV對 圖片讀取顯示裁剪儲存

PIL 圖片操作 讀取圖片 img = Image.open(“a.jpg”) 顯示圖片 im.show() # im是Image物件,im是numpy型別,通過Image.fromarray(nparr, mode='RGB')函式轉換為Image物件 圖片的size (w

5-python影象處理opencv1.讀圖顯示轉換儲存

通過opencv的python介面來,呼叫opencv函式實現,對圖片的載入,顯示,顏色轉換和儲存等 由於:opencv中使用到了python的許多第三方外掛,例如 numpy等,以上鍊接均提供相

opencv讀取視訊檔案並將視訊檔案儲存為圖片

#include <iostream> #include <windows.h> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp

python+opencv讀取視頻調用攝像頭

import ron 圖片 imp break python image ims usb 引用 import cv2 import numpy 創建攝像頭對象 cap = cv2.VideoCapture("videoTest/test1.mp4") 

PyQt訓練BP模型時顯示waiting動圖多線程

entropy series optimize 目錄 分享 PE 技術分享 eve http 1、實現效果 2、相關代碼 實現BP訓練模型的線程類 1 class WorkThread(QtCore.QThread): 2 finish_trigger =

作業系統程序間共享儲存區的通訊:建立一個共享儲存區大小4個位元組int大小。建立一個子程序然後子父程序獨自執行。父程序寫入一個數字到共享儲存區子程序在共享儲存區把該數字讀出

題目:建立一個共享儲存區,大小4個位元組(int大小)。建立一個子程序,然後子父程序獨自執行。父程序寫入一個數字到共享儲存區,子程序在共享儲存區把該數字讀出。 程式碼量很少,純屬應付作業 筆者在telnet上寫這些程式碼,由於知識技術及英語太菜,不知道怎樣在telnet上覆製出來這些程式碼,

上傳圖片到伺服器並且重新命名圖片小白共勉

根據教程上更改的,含冗餘,會再改,小白共勉 檔案所含內容如下(不知道為啥編輯器不能給字型改變顏色了,鬱悶): upload資料夾為存放圖片資料夾,注意upload、imgnewname.php、index.html、upload_file.php為同一級、 為了可以多次呼叫更改名稱

OpenCV影象載入顯示儲存融合

一、OpenCV的名稱空間    OpenCV中的C++類和函式都是定義在名稱空間cv之內的,在寫OpenCV程式時,以下三句為標配: #include <opencv2/core/core.hpp> #include<opencv2/highgui

python中用opencv讀取顯示圖片

  一、讀取並顯示圖片: import matplotlib.pyplot as plt # plt 用於顯示圖片 import matplotlib.image as mpimg # mpimg 用於讀取圖片 import numpy as np lena = mpimg.imread

自留:Osm地圖osmdroid下載離線地圖並將下載的地圖型別轉換為圖片.png/.jpg

  需要自定義Writer實現IFilesystemCache public class ImgTileWriter implements IFilesystemCache { private String dir; public ImgTileWriter(St

Ajax使用 jQueryphp非同步上傳圖片二進位制流儲存到新浪雲平臺storage

這兩天實現了一個釋出圖片的功能,可謂是一波三折,bug不斷啊,趁剛搞定,趕緊把過程寫下來,順便把程式碼傳過來。記錄了圖片在本地的儲存和 將本地的圖片以二進位制流提交到後臺php檔案 在html檔案中的操作自然就是在表單form元素中新增屬性  enctype="multi

ctf解題--當眼花的時候顯示兩張圖隱寫

題目 解題 下載圖片 wget http://ctf5.shiyanbar.com/stega/final.png kali自帶binwalk binwalk final.png 發現從1922524開始偏移 用dd命令進行

opencv連續讀取資料夾下的圖片python

網上有許多順序讀取圖片的程式,但python下的很少,今天介紹一個最簡單的,用opencv中的函式: cv2.imread() 使用方法: for i in range(20)      #迴圈次數自己選擇 image=cv2.imread("D:\\picture\\%d

關於easyui的許可權不同的使用者登入顯示不同的顯示不同的樹選單欄

有關easyui中的許可權--就是不同的使用者登入之後你左邊的選單才會顯示出不同選單欄,這裡和大家簡單說一下思路: 下面是我的資料庫設計:我分為三張表: 使用者表  角色表  許可權表 還有就是關係表(我畫了一個簡單的圖)、 1.資料庫建立: 然後如圖(資料庫我用的是my

android中關於圖片分享到QQ或者微信朋友圈及其他免SDK

 最近又做了一個關於圖片分享到朋友圈的一個小功能,起先想到的是要新增比如QQ 或者微信以及其他工具的API,但是很麻煩,還要申請一些亂七八糟的東西並且得通過,才能用。 於是就在網上找一些關於圖片分享的資料,僅供參考(親測可用),,僅限圖片的分享,但是免去了上面所說的那些繁瑣