日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【OpenCV自学笔记】DYA3 测试旧版本OpenCV函数的使用和图像简单缩放

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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函数的使用和图像简单缩放的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。