欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

OpenCV怎么實(shí)現(xiàn)圖像縮放

這篇文章將為大家詳細(xì)講解有關(guān)OpenCV怎么實(shí)現(xiàn)圖像縮放,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶(hù)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名與空間、虛擬主機(jī)、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶(hù)提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶(hù)的口碑塑造優(yōu)易品牌,攜手廣大客戶(hù),共同發(fā)展進(jìn)步。

在實(shí)際應(yīng)用中,我們經(jīng)常需要將某種尺寸的圖像轉(zhuǎn)換為其他尺寸的圖像,比如放大或縮小圖像。實(shí)現(xiàn)圖像縮放的功能主要涉及到兩個(gè)關(guān)鍵的函數(shù):cvResize和cvCreateImage。

關(guān)鍵函數(shù)介紹:

1.cvResize

 void cvResize(

const CvArr* src,

CvArr* dst,

Int interpolation = CV_INTER_LINEAR

);

函數(shù)說(shuō)明:

第一個(gè)參數(shù)表示輸入的圖像。

第二個(gè)參數(shù)表示輸出的圖像。

第三個(gè)參數(shù)指定插值方法,默認(rèn)為線(xiàn)性插值法,可用的插值方法如下:

CV_INTER_NN                   含義:最近鄰插值

CV_INTER_LINER              含義:線(xiàn)性插值

CV_INTER_AREA               含義:區(qū)域插值

CV_INTER_CUBIC            含義:三次樣條插值

一般情況下,我們期望源圖像和重采樣后的目標(biāo)圖像之間的映射盡可能地平滑。參數(shù)interpolation就是控制如何進(jìn)行映射。當(dāng)縮小圖像時(shí),目標(biāo)圖像的像素會(huì)映射為源圖像中的多個(gè)參數(shù),這時(shí)需要進(jìn)行插值。當(dāng)放大圖像時(shí),目標(biāo)圖像上的像素可能無(wú)法在源圖像中找到精確對(duì)應(yīng)的像素,也需要進(jìn)行插值。最簡(jiǎn)單的方法試將目標(biāo)圖像各點(diǎn)的像素值設(shè)為源圖像中與其距離最近的像素值,這就是當(dāng)interpolation設(shè)為CV_INTER_NN時(shí)用的算法。

采用線(xiàn)性插值算法(CV_INTER_LINER),將根據(jù)源圖像附件的4個(gè)鄰近像素的線(xiàn)性加權(quán)計(jì)算得出,權(quán)重由這4個(gè)像素到精確目標(biāo)點(diǎn)的距離決定。

采用區(qū)域插值(CV_INTER_AREA)是用新的像素點(diǎn)覆蓋原來(lái)的像素點(diǎn),然后求取覆蓋區(qū)域的平均值。

采用三次樣條插值(CV_INTER_CUBIC)是對(duì)源圖像附件的4X4個(gè)鄰近像素進(jìn)行三次樣條擬合,然后將目標(biāo)像素對(duì)應(yīng)的三次樣條值作為目標(biāo)圖像對(duì)應(yīng)像素點(diǎn)的值。

2. cvCreateImage

函數(shù)原型:

 IplImage* cvCreateImage(CvSize size, intdepth, intchannels);

函數(shù)說(shuō)明:

第一個(gè)參數(shù)表示圖像的大小;

第二個(gè)參數(shù)表示圖像的深度;

第三個(gè)參數(shù)表示圖像的通道數(shù)。

以下是使用OpenCV進(jìn)行圖像縮放的程序。

image_resizing.cpp

 #include <opencv2/core/core.hpp>

#include <opencv2/opencv.hpp>

#include <opencv2/imgproc/imgproc.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <iostream>

using namespace std;

int main(int argc,char **argv)

{

const char *pstrImageName = "Rayeager_PX2.jpg";

const char *pstrSaveImageName = "Rayeager_PX2_Resizing.jpg";

const char *pstrWindowsSrcTitle = "initial";

const char *pstrWindowsDstTitle = "resizing";

double fScale = 0.314;//縮放倍數(shù)

CvSize czSize;//目標(biāo)圖像尺寸

//從文件中讀取圖像

IplImage *pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);  

IplImage *pDstImage = NULL;

//計(jì)算目標(biāo)圖像大小

czSize.width = pSrcImage->width * fScale;  

czSize.height = pSrcImage->height * fScale;

//創(chuàng)建圖像并縮放

pDstImage = cvCreateImage(czSize, pSrcImage->depth, pSrcImage->nChannels);  

cvResize(pSrcImage, pDstImage, CV_INTER_AREA);

//創(chuàng)建窗口

cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);  

cvNamedWindow(pstrWindowsDstTitle, CV_WINDOW_AUTOSIZE);

//在指定窗口中顯示圖像

cvShowImage(pstrWindowsSrcTitle, pSrcImage);  

cvShowImage(pstrWindowsDstTitle, pDstImage);

//等待按鍵事件

cvWaitKey();

//保存圖片

cvSaveImage(pstrSaveImageName, pDstImage);

      //銷(xiāo)毀顯示圖像文件的窗口

cvDestroyWindow(pstrWindowsSrcTitle);  

cvDestroyWindow(pstrWindowsDstTitle);

//釋放為圖像分配的內(nèi)存  

cvReleaseImage(&pSrcImage);  

cvReleaseImage(&pDstImage);  

return 0;

}

makefile:

INCLUDE = $(shell pkg-config --cflags opencv)  

LIBS = $(shell pkg-config --libs opencv)  

SOURCES = image_resizing.cpp  

# 目標(biāo)文件  

OBJECTS = $(SOURCES:.cpp=.o)  

# 可執(zhí)行文件  

TARGET = image_resizing  

$(TARGET):$(OBJECTS)  

g++ -o $(TARGET) $(OBJECTS) -I $(INCLUDE) $(LIBS)  

$(OBJECTS):$(SOURCES)  

g++ -c $(SOURCES)  

clean:  

rm $(OBJECTS) $(TARGET)  

# 編譯規(guī)則 $@代表目標(biāo)文件 $< 代表第一個(gè)依賴(lài)文件  

%.o:%.cpp  

g++ -I $(INCLUDE) -o $@ -c $<

在源代碼所在的文件夾中make生成可執(zhí)行文件image_resizing,之后./image_resizing Rayeager_PX2.jpg就能實(shí)現(xiàn)圖像縮放,并且縮放的圖像保存在當(dāng)前文件夾中,文件名為Rayeager_PX2_Resizing.jpg

OpenCV怎么實(shí)現(xiàn)圖像縮放

OpenCV怎么實(shí)現(xiàn)圖像縮放

關(guān)于“OpenCV怎么實(shí)現(xiàn)圖像縮放”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

網(wǎng)頁(yè)名稱(chēng):OpenCV怎么實(shí)現(xiàn)圖像縮放
網(wǎng)頁(yè)地址:http://chinadenli.net/article16/iejogg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站設(shè)計(jì)公司、App設(shè)計(jì)搜索引擎優(yōu)化、定制網(wǎng)站域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司
日本久久中文字幕免费| 久久国产成人精品国产成人亚洲| 久久天堂夜夜一本婷婷| 日本理论片午夜在线观看| 国产一区二区三区丝袜不卡| 亚洲一区二区三区熟女少妇| 嫩呦国产一区二区三区av| 91久久精品国产一区蜜臀| 亚洲黑人精品一区二区欧美| 国产精品午夜视频免费观看| 亚洲中文字幕高清乱码毛片| 国产国产精品精品在线| 欧美人与动牲交a精品| 欧美日韩国产综合特黄| 黄色片一区二区三区高清| 亚洲第一香蕉视频在线| 日韩一本不卡在线观看| 日韩中文字幕视频在线高清版| 激情丁香激情五月婷婷| 日本在线高清精品人妻| 91日韩欧美在线视频| 草草夜色精品国产噜噜竹菊| 亚洲一区二区精品久久av| 欧美亚洲91在线视频| 色涩一区二区三区四区| 婷婷九月在线中文字幕| 欧美一级特黄大片做受大屁股| 欧美日韩久久精品一区二区| 国产精品涩涩成人一区二区三区| 亚洲午夜精品视频观看| 日韩一级欧美一级久久| 亚洲午夜精品视频观看| 日韩精品小视频在线观看| 午夜免费精品视频在线看| 国产午夜福利片在线观看| 在线观看免费无遮挡大尺度视频| 国产欧美日韩在线精品一二区| 欧美一级片日韩一级片| 欧美一区日韩一区日韩一区| 亚洲国产精品无遮挡羞羞| 久久热这里只有精品视频|