×ðÁú¿­Ê±¹ÙÍøµÇ¼

ʹÓÃCMake¹¹½¨LinuxÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐòµÄÉèÖü¼ÇÉ

ʹÓÃcmake¹¹½¨linuxÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐòµÄÉèÖü¼ÇÉ

ͻ񻣼

ÔÚÖÇÄܶ¼»áµÄ½¨ÉèÀú³ÌÖУ¬Çå¾²ÊÇÒ»¸öÖÁ¹ØÖ÷ÒªµÄÎÊÌ⡣ΪÁËÖª×㶼»áÇå¾²µÄÐèÇ󣬿ª·¢ÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐò¾ßÓÐÖ÷ÒªÒâÒå¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃCMake¹¹½¨LinuxÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐò£¬²¢ÌṩһЩÉèÖü¼ÇɺʹúÂëʾÀý¡£

CMake¼ò½é

CMakeÊÇÒ»¸ö¿çƽ̨µÄ¿ªÔ´¹¹½¨¹¤¾ß£¬Ëü¿ÉÒÔ×Ô¶¯ÌìÉú±àÒëÖ¸ÁʹÆä¿ÉÒÔÔÚ²î±ðµÄ¿ª·¢ÇéÐκͲÙ×÷ϵͳÉϾÙÐÐ˳Ӧ¡£CMakeʹÓÃÒ»¸öÃûΪCMakeLists.txtµÄÉèÖÃÎļþ£¬ÆäÖаüÀ¨Á˹¹½¨ÏîÄ¿ËùÐèµÄËùÓÐÐÅÏ¢¡£

¹¹½¨LinuxÇå¾²Ó¦ÓóÌÐòµÄÄ¿µÄ

ÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐòÐèҪʵʱ´¦ÀíºÍÆÊÎö´ó×ÚµÄÊý¾Ý£¬²¢Æ¾Ö¤ÆÊÎöЧ¹û½ÓÄÉÏìÓ¦µÄ²½·¥¡£±ðµÄ£¬Ó¦ÓóÌÐò»¹ÐèÒªÓëÆäËûϵͳºÍ×°±¸¾ÙÐÐͨѶºÍ½»»¥¡£Òò´Ë£¬¹¹½¨LinuxÇå¾²Ó¦ÓóÌÐòʱ£¬ÐèҪ˼Á¿ÒÔÏÂÄ¿µÄ£º

ʵʱÐÔ£ºÓ¦ÓóÌÐòÐèÒª°ü¹ÜÔÚ´¦Àí´ó×ÚÊý¾Ýʱ¼á³Ö¸ßÐÔÄܺ͵ÍÑÓ³Ù¡£

¿ÉÀ©Õ¹ÐÔ£ºÓ¦ÓóÌÐòÐèÒªÄܹ»´¦ÀíÒ»Ö±ÔöÌíµÄÊý¾ÝºÍÓû§Á¿¡£

ÎȹÌÐÔ£ºÓ¦ÓóÌÐòÐèÒª¾ß±¸¸ß¿ÉÓÃÐÔºÍÈÝ´íÄÜÁ¦£¬ÒÔ±ÜÃâÊý¾Ýɥʧ»òϵͳÍ߽⡣

¿ÉÒÆÖ²ÐÔ£ºÓ¦ÓóÌÐòÐèÒªÄܹ»ÔÚ²î±ðµÄLinux¿¯ÐаæºÍÓ²¼þƽ̨ÉÏÔËÐС£

CMakeÉèÖü¼ÇÉ

ΪÁËʵÏÖÉÏÊöÄ¿µÄ£¬ÒÔÏÂÊÇһЩ»ù±¾µÄCMakeÉèÖü¼ÇÉ£º

3.1. ÉèÖñàÒëÑ¡Ïî

ʹÓÃCMake¿ÉÒÔÇáËÉÉèÖòî±ðµÄ±àÒëÑ¡Ïî¡£ÀýÈ磬¿ÉÒÔͨ¹ýÌí¼ÓÒÔÏ´úÂ뽫µ÷ÊÔ·ûºÅÌí¼Óµ½ÌìÉúµÄ¿ÉÖ´ÐÐÎļþÖУº

set(CMAKE_BUILD_TYPE Debug)

µÇ¼ºó¸´ÖÆ

3.2. Ìí¼ÓÔ´ÎļþºÍÒÀÀµÏî

ÔÚCMakeLists.txtÖÐÌí¼ÓÔ´ÎļþºÍËùÐèµÄÍⲿ¿â¡£ÀýÈ磬¿ÉÒÔͨ¹ýÒÔÏ´úÂëÌí¼ÓÔ´Îļþ£º

file(GLOB SOURCES src/*.cpp)

µÇ¼ºó¸´ÖÆ

¿ÉÒÔͨ¹ýÒÔÏ´úÂëÌí¼ÓÍⲿ¿â£º

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(my_app ${OpenCV_LIBS})

µÇ¼ºó¸´ÖÆ

3.3. ÉèÖÃ×°ÖÃÄ¿µÄ

ͨ¹ýÉèÖÃ×°ÖÃÄ¿µÄ£¬¿ÉÒÔÔÚ¹¹½¨Àú³ÌÖн«ÌìÉúÎļþ×°Öõ½Ö¸¶¨µÄλÖá£ÀýÈ磬¿ÉÒÔͨ¹ýÒÔÏ´úÂëÖ¸¶¨×°ÖÃĿ¼£º

install(TARGETS my_app DESTINATION /usr/local/bin)

µÇ¼ºó¸´ÖÆ

´úÂëʾÀý

ÏÂÃæÊÇÒ»¸ö¼òÆÓµÄÖÇÄܶ¼»á¼à¿ØϵͳӦÓóÌÐòµÄ´úÂëʾÀý£º

#include <iostream>
#include <opencv2/opencv.hpp>

int main() {
    cv::VideoCapture cap(0);
    if (!cap.isOpened()) {
        std::cout << "Failed to open camera!" << std::endl;
        return -1;
    }

    while (true) {
        cv::Mat frame;
        cap.read(frame);
        if (frame.empty()) {
            std::cout << "No frame captured!" << std::endl;
            break;
        }

        // ÆäËûͼÏñ´¦ÀíºÍÆÊÎö²Ù×÷

        cv::imshow("Smart City Security", frame);

        if (cv::waitKey(1) == 'q') {
            break;
        }
    }

    cap.release();
    cv::destroyAllWindows();

    return 0;
}

µÇ¼ºó¸´ÖÆ

½áÂÛ

±¾ÎÄÏÈÈÝÁËÔõÑùʹÓÃCMake¹¹½¨LinuxÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐò£¬²¢ÌṩÁËһЩÉèÖü¼ÇɺʹúÂëʾÀý¡£Í¨¹ýÎÞаʹÓÃCMakeµÄ¹¦Ð§£¬ÎÒÃÇ¿ÉÒÔÇáËɵع¹½¨¸ßÐÔÄÜ¡¢¿ÉÀ©Õ¹¡¢Îȹ̺ͿÉÒÆÖ²µÄÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐò¡£Ï£Íû±¾ÎĶÔÄúÔÚ¹¹½¨ÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐòʱÓÐËù×ÊÖú¡£

ÒÔÉϾÍÊÇʹÓÃCMake¹¹½¨LinuxÖÇÄܶ¼»áÇå¾²Ó¦ÓóÌÐòµÄÉèÖü¼ÇɵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ