【OpenCV自学笔记】DYA3 测试旧版本OpenCV函数的使用和图像简单缩放
生活随笔
收集整理的這篇文章主要介紹了
【OpenCV自学笔记】DYA3 测试旧版本OpenCV函数的使用和图像简单缩放
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
版權聲明:本文為 @iCurious
的原創文章,可以轉載,但請務必注明作者和出處!!!
原文鏈接:|blog.csdn.net/icurious|www.blankspace.cn|www.cnblogs.com/icurious/|
摘要
本文的主要內容為,參考@morewindows的文章:
- 測試舊版本OpenCV的cvResize、cvCreateImage函數的使用,來對打開的圖像進行簡單縮放。
- 使用cvThreshold函數對打開的圖像進行二值化處理。
- 給窗口添加工具條,并使用回調機制,拖動滑動條使得圖像效果跟隨變化。
內容
cvResize
- 函數功能:圖像大小變換
- 函數原型:
void cvResize(const CvArr* src,CvArr* dst,intinterpolation=CV_INTER_LINEAR); - 函數說明:
第一個參數表示輸入圖像。
第二個參數表示輸出圖像。
第三個參數表示插值方法,可以有以下四種:
CV_INTER_NN - 最近鄰插值,
CV_INTER_LINEAR - 雙線性插值 (缺省使用)
CV_INTER_AREA - 使用象素關系重采樣。當圖像縮小時候,該方法可以避免波紋出現。當圖像放大時,類似于 CV_INTER_NN 方法..
CV_INTER_CUBIC - 立方插值.
這個函數在功能上與Win32 API中的StretchBlt()函數類似。
cvCreateImage
- 函數功能:創建圖像
- 函數原型:
IplImage* cvCreateImage(CvSize size, intdepth, intchannels); - 函數說明:
第一個參數表示圖像的大小。
第二個參數表示圖像的深度,可以為IPL_DEPTH_8U,IPL_DEPTH_16U等等。
第三個參數表示圖像的通道數。
示例
//縮放圖像文件 //2016/4/15 #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace std; //隱藏控制臺窗口 #pragma comment (linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"") //主函數 int main() {const char * pstrImageName = "2.jpg"; //原圖片的名稱const char * pstrSaveImageName = "縮略圖(保存).jpg";//縮略圖保存名稱const char * pstrWindowsSrcTitle = "原圖.jpg"; //原圖顯示窗口標題const char * pstrWindowsDetTitle = "縮放圖.jpg"; //縮略圖窗口標題double dScale = 0.5;//縮放倍數CvSize czSize;//CvSize結構體//從文件中讀取圖片IplImage* pSrcImage = cvLoadImage(pstrImageName, 1);//load picture from fileIplImage* pDstImage = NULL ;//翻轉圖片指針//計算縮放后圖像的大小czSize.height = pSrcImage->height*dScale;czSize.width = pSrcImage->width*dScale;//創建圖像pDstImage = cvCreateImage(czSize, pSrcImage->depth, pSrcImage->nChannels);//縮放圖像cvResize(pSrcImage, pDstImage, CV_INTER_AREA);//創建窗口cvNamedWindow(pstrWindowsSrcTitle);cvNamedWindow(pstrWindowsDetTitle);//在制定窗口顯示圖片cvShowImage(pstrWindowsSrcTitle, pSrcImage);cvShowImage(pstrWindowsDetTitle, pDstImage);//等待按鍵cvWaitKey();//保存圖片cvSaveImage(pstrSaveImageName, pDstImage);//關閉窗口cvDestroyWindow(pstrWindowsSrcTitle);cvDestroyWindow(pstrWindowsDetTitle);cvReleaseImage(&pSrcImage);cvReleaseImage(&pDstImage);return 0; }效果
版權聲明:本文為 @iCurious
的原創文章,可以轉載,但請務必注明作者和出處!!!
原文鏈接:|blog.csdn.net/icurious|www.blankspace.cn|www.cnblogs.com/icurious/|
總結
以上是生活随笔為你收集整理的【OpenCV自学笔记】DYA3 测试旧版本OpenCV函数的使用和图像简单缩放的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重启计算机网络连接巨慢,开机后宽带连接很
- 下一篇: 【前端基础小案例】HTML+CSS实现酷