1. 程式人生 > 實用技巧 >影象細線化的實現,為什麼拷貝了程式碼,卻一堆CV_IMAGE_ELEM飄紅

影象細線化的實現,為什麼拷貝了程式碼,卻一堆CV_IMAGE_ELEM飄紅

在網上找到了細線化的程式碼,但是卻沒法執行,網上的方法也沒有找到正確的方法,記錄下自己修正的過程。主要遇到了一下幾個問題:

1.CV_IMAGE_ELEM飄紅

查詢解決方案都是說要#define一個CV_IMAGE_ELEM,其實是byte作為型別不能直接傳過去,要在程式開頭typedef一下就可以啦

1 typedef unsigned char byte;

2.Error:Bad argument (Array should be CvMat or IplImage) in cvGetSize, file F:\opencv-3.4.5\modules\core\src\array.cpp, line 1246

這是cvGetSize這個函式的問題,只要修改一下就好啦

pDst = cvCreateImage(cvGetSize(pSrc), pSrc->depth, pSrc->nChannels); ×

改為 pDst = cvCreateImage(cvSize(pSrc->width, pSrc->height), pSrc->depth, pSrc->nChannels);

3.#include "cxcore.h"引用飄紅問題

沒有引用正確,cxcore.h的地址不正確,我的是修改為#include "opencv/cxcore.h"就好啦

執行成功後細線化結果

希望對大家有所幫助