cvPutText(bkg, "OpenCV Step By Step", pt, &font, CV_RGB(150, 0, 150));
cvNamedWindow("Hello World", 0);
cvShowImage("Hello World", bkg);
cvWaitKey(0);
cvReleaseImage(&bkg);
cvDestroyWindow("Hello World");
return 0; }
Вывод:
Спойлер(Показать/Скрыть)
C:\CV\opencv\build\include\opencv2\core\types_c.h|311|warning: 'cvFloor' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|329|warning: 'cvCeil' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|349|warning: 'cvIsNaN' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|364|warning: 'cvIsInf' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|385|warning: 'cvRNG' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|401|warning: 'cvRandReal' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|715|warning: 'cvMat' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|745|warning: 'cvmGet' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|763|warning: 'cvmSet' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|780|warning: 'cvIplDepth' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|955|warning: 'cvRectToROI' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|968|warning: 'cvROIToRect' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|989|warning: 'cvTermCriteria' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|1041|warning: 'cvPointTo32f' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|1066|warning: 'cvPoint3D32f' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|1086|warning: 'cvPoint2D64f' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|1106|warning: 'cvPoint3D64f' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|1145|warning: 'cvSize2D32f' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|1221|warning: 'cvRealScalar' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|1229|warning: 'cvScalarAll' defined but not used| C:\CV\opencv\build\include\opencv2\core\types_c.h|1739|warning: 'cvAttrList' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|127|warning: 'cvDecRefData' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|148|warning: 'cvIncRefData' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|182|warning: 'cvGetRow' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|193|warning: 'cvGetCol' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|222|warning: 'cvReleaseMatND' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|245|warning: 'cvGetNextSparseNode' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|495|warning: 'cvSubS' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1057|warning: 'cvCloneSeq' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1100|warning: 'cvSetNew' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1115|warning: 'cvSetRemoveByPtr' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1130|warning: 'cvGetSetElem' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1302|warning: 'cvEllipseBox' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1398|warning: 'cvFont' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1601|warning: 'cvReadIntByName' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1616|warning: 'cvReadRealByName' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1630|warning: 'cvReadStringByName' defined but not used| C:\CV\opencv\build\include\opencv2\core\core_c.h|1642|warning: 'cvReadByName' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|373|warning: 'cvCreateSubdivDelaunay2D' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|408|warning: 'cvSubdiv2DNextEdge' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|414|warning: 'cvSubdiv2DRotateEdge' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|419|warning: 'cvSubdiv2DSymEdge' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|424|warning: 'cvSubdiv2DGetEdge' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|432|warning: 'cvSubdiv2DEdgeOrg' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|439|warning: 'cvSubdiv2DEdgeDst' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|446|warning: 'cvTriangleArea' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|468|warning: 'cvContourPerimeter' defined but not used| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|592|warning: 'cvCalcHist' defined but not used| C:\CV\opencv\build\include\opencv2\features2d\features2d.hpp|66|warning: 'cvSURFPoint' defined but not used| C:\CV\opencv\build\include\opencv2\features2d\features2d.hpp|146|warning: 'cvStarKeypoint' defined but not used| C:\CV\opencv\build\include\opencv2\features2d\features2d.hpp|164|warning: 'cvStarDetectorParams' defined but not used| C:\CV\opencv\build\include\opencv2\highgui\highgui_c.h|445|warning: 'CV_FOURCC' defined but not used| obj\Debug\main.o||In function `cvDecRefData':| C:\CV\opencv\build\include\opencv2\core\core_c.h|134|undefined reference to `cvFree_'| C:\CV\opencv\build\include\opencv2\core\core_c.h|142|undefined reference to `cvFree_'| obj\Debug\main.o||In function `cvGetRow':| C:\CV\opencv\build\include\opencv2\core\core_c.h|184|undefined reference to `cvGetRows'| obj\Debug\main.o||In function `cvGetCol':| C:\CV\opencv\build\include\opencv2\core\core_c.h|195|undefined reference to `cvGetCols'| obj\Debug\main.o||In function `cvReleaseMatND':| C:\CV\opencv\build\include\opencv2\core\core_c.h|224|undefined reference to `cvReleaseMat'| obj\Debug\main.o||In function `cvSubS':| C:\CV\opencv\build\include\opencv2\core\core_c.h|498|undefined reference to `cvAddS'| obj\Debug\main.o||In function `cvCloneSeq':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1059|undefined reference to `cvSeqSlice'| obj\Debug\main.o||In function `cvSetNew':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1110|undefined reference to `cvSetAdd'| obj\Debug\main.o||In function `cvGetSetElem':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1132|undefined reference to `cvGetSeqElem'| obj\Debug\main.o||In function `cvEllipseBox':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1310|undefined reference to `cvEllipse'| obj\Debug\main.o||In function `cvFont':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1401|undefined reference to `cvInitFont'| obj\Debug\main.o||In function `cvReadIntByName':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1604|undefined reference to `cvGetFileNodeByName'| obj\Debug\main.o||In function `cvReadRealByName':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1619|undefined reference to `cvGetFileNodeByName'| obj\Debug\main.o||In function `cvReadStringByName':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1633|undefined reference to `cvGetFileNodeByName'| obj\Debug\main.o||In function `cvReadByName':| C:\CV\opencv\build\include\opencv2\core\core_c.h|1645|undefined reference to `cvGetFileNodeByName'| C:\CV\opencv\build\include\opencv2\core\core_c.h|1645|undefined reference to `cvRead'| obj\Debug\main.o||In function `cvCreateSubdivDelaunay2D':| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|375|undefined reference to `cvCreateSubdiv2D'| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|378|undefined reference to `cvInitSubdivDelaunay2D'| obj\Debug\main.o||In function `cvContourPerimeter':| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|470|undefined reference to `cvArcLength'| obj\Debug\main.o||In function `cvCalcHist':| C:\CV\opencv\build\include\opencv2\imgproc\imgproc_c.h|596|undefined reference to `cvCalcArrHist'| obj\Debug\main.o||In function `main':| \OpenCV\main.c|12|undefined reference to `cvCreateImage'| \OpenCV\main.c|14|undefined reference to `cvSet'| \OpenCV\main.c|18|undefined reference to `cvInitFont'| \OpenCV\main.c|20|undefined reference to `cvPutText'| \OpenCV\main.c|22|undefined reference to `cvNamedWindow'| \OpenCV\main.c|24|undefined reference to `cvShowImage'| \OpenCV\main.c|26|undefined reference to `cvWaitKey'| \OpenCV\main.c|28|undefined reference to `cvReleaseImage'| \OpenCV\main.c|30|undefined reference to `cvDestroyWindow'| ||=== Build finished: 29 errors, 52 warnings ===|
Наверное опять что-то упустил. В линуксе всё это как-то поще было по-моему.... Избаловал он меня....
Что-бы хоть как-то скомпилировать пришлось, помимо твоих двух библиотек, добавил C:\CV\opencv\build\x86\mingw\lib\libopencv_imgproc231.dll.a , теперь куча сообщений типа оно объявлено, но не используется и при запуске жалуется, что libopencv_core231.dll не найден. Может что-то в других настройках?
теперь куча сообщений типа оно объявлено, но не используется
Это предупреждения, ничего страшного. Хотя и странно. У меня подобного нет. Скорее всего - потому что я использую g++, а не gcc, эти предупреждения появляются только в случае gcc
Цитата
и при запуске жалуется, что libopencv_core231.dll не найден
А это... Ты в переменную окружения PATH прописал путь к папке с DLL-ками? Я прописывал. И при запуске простейшей программы:
int main(int argc, char* argv[]) { IplImage* img = cvLoadImage("F:\\test\\pic.jpg", CV_LOAD_IMAGE_UNCHANGED); if (!img) { printf("Error: Could not open the image file! \n"); exit(1); }
Добавил пути к cv'шным и mingw'шным (потребовал ещё и libstdc++-6.dll) dll-кам. Стало запускаться, зато вылезает окошко: OpenCV - обнаружена ошибка (после появления окна, но до картинки). В доп. сведениях libopencv_highgui231.dll. Может надо указать путь к 3rdparty?
Что-то меня терзают смутные сомнения, что ты не пересобрал библиотеку перед тем, как ее использовать. А собирать ее надо тем же самым компилятором, которым будешь компилировать приложение: OpenCV Installation Guide
Цитата
Windows: <...> It is generally recommended to download the source .zip package and rebuild OpenCV from scratch using the same compiler that you use to build your applications.
Наконец-то всё работает! По крайней мере, мне так кажется...
Цитата
Windows: <...> It is generally recommended to download the source .zip package and rebuild OpenCV from scratch using the same compiler that you use to build your applications.
В последней версии (2.3.1) этого .zip уже нет, всё есть в superpack (это я для тех, кто будет в подобной ситуации).
Ну а тебе, IUnknown, спасибо, в очередной раз. Хотя, как всегда виноват был я сам.