影象細線化的實現,為什麼拷貝了程式碼,卻一堆CV_IMAGE_ELEM飄紅
阿新 • • 發佈:2021-01-07
在網上找到了細線化的程式碼,但是卻沒法執行,網上的方法也沒有找到正確的方法,記錄下自己修正的過程。主要遇到了一下幾個問題:
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"就好啦
執行成功後細線化結果↓ ↓
希望對大家有所幫助