中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決OpenCV中C++函數imread讀取圖片的問題

發布時間:2021-07-13 15:29:36 來源:億速云 閱讀:394 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“如何解決OpenCV中C++函數imread讀取圖片的問題”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何解決OpenCV中C++函數imread讀取圖片的問題”這篇文章吧。

今天在用OpenCV實驗Image Pyramid的時候發現一個奇怪的問題,就是利用C++函數imread讀取圖片的時候返回的結果總是空,而利用C函數cvLoadImage時卻能讀取到圖像。代碼如下:

//環境:VS2010 + OpenCV 2.3.1
#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
using namespace cv;
Mat src, dst, tmp;
char* window_name = "Pyramids Demo";
int _tmain(int argc, _TCHAR* argv[])
{
 printf("\n Zoom In-Out demo \n");
 printf("-------------------- \n");
 printf("*[u]-> Zoom in \n");
 printf("*[d]-> Zoom out \n");
 printf("*[ESC]-> Close program \n\n");
 src = imread("D:\\fruits.jpg");
 if(!src.data)
 {
  printf("No data!--Exiting the program \n");
  return -1;
 }
 tmp = src;
 dst = tmp;
 namedWindow(window_name,CV_WINDOW_AUTOSIZE);
 imshow(window_name,dst);
 while(true)
 {
  int c;
  c = waitKey(10);
  if((char)c == 27)
  {
   break;
  }
  if((char)c == 'u')
  {
   pyrUp(tmp,dst,Size(tmp.cols * 2,tmp.rows * 2));
   printf("** Zoom In:Image x 2\n");
  }
  else if((char)c == 'd')
  {
   pyrDown(tmp,dst,Size(tmp.cols / 2,tmp.rows / 2));
   printf("**Zoom Out:Image / 2\n");
  }
  imshow(window_name,dst);
  tmp = dst;
 }
 return 0;
}

  程序很簡單,就是直接調用Imgproc中的兩個C++函數pyrUp和pyrDown來實現圖像金字塔,程序的詳細解釋可參見https://www.jb51.net/article/108378.htm。但在實現的過程中發現imread始終讀取不了圖像數據和cvLoadImage卻可以。幾經考證,發現的確是由于庫關聯的問題。也就是在Debug模式下應該選擇帶'd'的lib,在Release模式下就選擇不帶'd'的lib。而實際我們在配置OpenCV環境的時候往往圖方便將Debug和Release的目錄都一起加了進去,再修改起來也比較麻煩。所以這時候最簡單的辦法就是在程序的開始加上:

#pragma comment(lib,"opencv_highgui231d.lib")

來告訴程序將采用Debug版本的庫函數。

  實驗結果如下:

如何解決OpenCV中C++函數imread讀取圖片的問題

以上是“如何解決OpenCV中C++函數imread讀取圖片的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开原市| 安丘市| 于都县| 平山县| 尚志市| 荥阳市| 邵阳市| 日喀则市| 汉沽区| 新绛县| 集贤县| 永清县| 丰原市| 松滋市| 右玉县| 米林县| 无为县| 乳源| 三门峡市| 杭州市| 白河县| 讷河市| 灵山县| 朝阳县| 石城县| 镇远县| 昂仁县| 响水县| 郓城县| 渝中区| 景洪市| 长宁县| 琼结县| 丹棱县| 大关县| 安岳县| 田东县| 宜黄县| 泰和县| 昔阳县| 盐津县|