- [¾È³»] Æ÷ÀÎÆ® Á¤Ã¥ º¯°æ ¹× Ç°À§ À¯Áö Æ÷ÀÎÆ® °øÁö -

opencv»ç¿ëÇÒ¶§ CvRect EdgeROI º¯¼ö¿Í xÁÂÇ¥¸¦ °¡Áö°í ÀÖ´Â int stratX ¶ó´Â º¯¼ö°¡ ÀÖÀ»¶§ EdgeROI.x°¡ startXº¸´Ù ÀÛÀ»¶§ EdgeROI.x= startX·Î ³õÀ¸¸é¼­ µÚÂÊ »ç°¢ÇüÀº ±×´ë·Î ¸¸µå´Â ½Ä ¾Ë·ÁÁà

[´ñ±Û¼ö (8)]
rank ¾ÇÀïÀÌ 2024-10-02 (¼ö) 19:24 Á¶È¸ : 27 Ãßõ : 3  Ãßõ  ½Å°í
rank ¾ÇÀïÀÌ
opencv»ç¿ëÇÒ¶§ CvRect EdgeROI º¯¼ö¿Í xÁÂÇ¥¸¦ °¡Áö°í ÀÖ´Â int stratX ¶ó´Â º¯¼ö°¡ ÀÖÀ»¶§ EdgeROI.x°¡ startXº¸´Ù ÀÛÀ»¶§ EdgeROI.x= startX·Î ³õÀ¸¸é¼­ µÚÂÊ »ç°¢ÇüÀº ±×´ë·Î ¸¸µå´Â ½Ä ¾Ë·ÁÁà
rank AIê

OpenCV¿¡¼­ CvRect º¯¼ö¸¦ »ç¿ëÇØ Æ¯Á¤ Á¶°Ç¿¡ µû¶ó xÁÂÇ¥¸¦ ¼öÁ¤ÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù. EdgeROIÀÇ xÁÂÇ¥°¡ startXº¸´Ù ÀÛ °æ¿ì EdgeROI.x¸¦ startX·Î º¯°æÇϸ鼭 EdgeROIÀÇ ³ÐÀÌ¿Í ³ôÀÌ´Â ±×´ë·Î À¯ÁöÇÏ´Â Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡´Â ¿¹½Ã ÄÚµåÀÔ´Ï´Ù.

#include 

void adjustEdgeROI(CvRect& EdgeROI, int startX) {
    // EdgeROIÀÇ xÁÂÇ¥°¡ startXº¸´Ù ÀÛÀ» ¶§
    if (EdgeROI.x < startX) {
        // EdgeROI.x¸¦ startX·Î ¼³Á¤
        EdgeROI.x = startX;
    }
}

// »ç¿ë ¿¹½Ã
int main() {
    CvRect EdgeROI = cvRect(10, 10, 100, 50); // x, y, width, height
    int startX = 20;

    adjustEdgeROI(EdgeROI, startX);
    
    // EdgeROI°¡ ¾î¶»°Ô º¯Çß´ÂÁö È®ÀÎ
    std::cout << "EdgeROI: " << EdgeROI.x << ", " << EdgeROI.y << ", " << EdgeROI.width << ", " << EdgeROI.height << std::endl;

    return ;
}

À§ Äڵ忡¼­ adjustEdgeROI ÇÔ¼ö´Â EdgeROIÀÇ xÁÂÇ¥¸¦ Á¶°Ç¿¡ ¸Â°Ô ¼öÁ¤ÇÕ´Ï´Ù. ÀÌ Äڵ带 »ç¿ëÇÏ¸é ¿øÇÏ´Â ´ë·Î ÀÛµ¿ÇÒ °ÍÀÔ´Ï´Ù.

´ñ±Û 8°³
´ñ±Û¾²±â
¾ÇÀïÀ̱۾´ÀÌ 2024-10-02 (¼ö) 19:25
±×·¯¸é EdgeROI.x+EdgeROI.width°¡ º¯ÇÏÀÝ¾Æ ÀÌ°ªÀº Àü ÈÄ¿¡ ¹Ù²îÁö ¾Ê¾ÒÀ¸¸é ÁÁ°Ú¾î
     
       
AIê 2024-10-02 (¼ö) 19:25
@¾ÇÀïÀÌ

EdgeROI.x + EdgeROI.widthÀÇ °ªÀ» À¯ÁöÇϸ鼭 EdgeROI.x¸¦ Á¶Á¤ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, EdgeROI.width¸¦ »ç¿ëÇÏ¿© EdgeROIÀÇ ³Êºñ¸¦ À¯ÁöÇϸ鼭 xÁÂÇ¥¸¦ ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ¾Æ·¡´Â ±×·± ¹æ½ÄÀÇ ¿¹½Ã ÄÚµåÀÔ´Ï´Ù.

#include 
#include 

void adjustEdgeROI(CvRect& EdgeROI, int startX) {
    // EdgeROIÀÇ xÁÂÇ¥°¡ startXº¸´Ù ÀÛÀ» ¶§
    if (EdgeROI.x < startX) {
        // ±âÁ¸ÀÇ x + width °ªÀ» À¯ÁöÇϸ鼭 x ÁÂÇ¥¸¦ startX·Î ¼³Á¤
        EdgeROI.x = startX;
    }
}

// »ç¿ë ¿¹½Ã
int main() {
    CvRect EdgeROI = cvRect(10, 10, 100, 50); // x, y, width, height
    int startX = 20;

    // EdgeROIÀÇ x + width °ªÀ» ÀúÀå
    int originalEndX = EdgeROI.x + EdgeROI.width;
    
    adjustEdgeROI(EdgeROI, startX);
    
    // x + width °ªÀÌ ¹Ù²îÁö ¾Êµµ·Ï Á¶Á¤
    if (EdgeROI.x + EdgeROI.width != originalEndX) {
        EdgeROI.width = originalEndX - EdgeROI.x; // width¸¦ Á¶Á¤
    }

    // EdgeROI°¡ ¾î¶»°Ô º¯Çß´ÂÁö È®ÀÎ
    std::cout << "EdgeROI: " << EdgeROI.x << ", " << EdgeROI.y << ", " << EdgeROI.width << ", " << EdgeROI.height << std::endl;

    return ;
}

ÀÌ Äڵ忡¼­´Â originalEndX¸¦ »ç¿ëÇÏ¿© ¿ø·¡ÀÇ EdgeROI.x + EdgeROI.width °ªÀ» ÀúÀåÇÑ ÈÄ, EdgeROI.x¸¦ º¯°æÇÑ µÚ¿¡ ³Êºñ¸¦ ´Ù½Ã Á¶Á¤ÇÏ¿© ÀÌ °ªÀÌ º¯ÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ÀÌ·¸°Ô Çϸé xÁÂÇ¥¸¦ Á¶°Ç¿¡ ¸Â°Ô Á¶Á¤Çϸ鼭µµ ³Êºñ´Â ¿ø·¡ÀÇ °ªÀ» À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾ÇÀïÀ̱۾´ÀÌ 2024-10-02 (¼ö) 19:29
µ¿ÀÏÇÏ°Ô EdgeROI°¡ ÀÖ°í XÀÇ ÃÖ¼Ò¹üÀ§ istartX, ÃÖ´ë¹üÀ§ iEndX YÀÇ ÃÖ¼Ò¹üÀ§ iStartY, ÃÖ´ë ¹üÀ§ IEndY°¡ ÀÖÀ»¶§ EdgeROI¿¡¼­ ¹üÀ§¸¦ ¹þ¾î³­ ºÎºÐ¸¸ À߶óÁÖ´Â ÄÚµå ¾Ë·ÁÁà
     
       
AIê 2024-10-02 (¼ö) 19:29
@¾ÇÀïÀÌ

ÁÖ¾îÁø EdgeROI°¡ ÁöÁ¤µÈ x ¹× yÀÇ ÃÖ¼Ò ¹× ÃÖ´ë ¹üÀ§¸¦ ¹þ¾î³ª´Â °æ¿ì, ÇØ´ç ºÎºÐÀ» À߶󳻴 ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÄÚµå´Â EdgeROIÀÇ °æ°è¸¦ ÁöÁ¤µÈ ¹üÀ§·Î Á¶Á¤ÇÕ´Ï´Ù.

#include 
#include 

void clampEdgeROI(CvRect& EdgeROI, int istartX, int iEndX, int iStartY, int iEndY) {
    // xÁÂÇ¥ Á¶Á¤
    if (EdgeROI.x < istartX) {
        EdgeROI.x = istartX;
    }
    if (EdgeROI.x + EdgeROI.width > iEndX) {
        EdgeROI.width = iEndX - EdgeROI.x; // ÃÖ´ë ¹üÀ§¸¦ ³ÑÁö ¾Êµµ·Ï ³Êºñ Á¶Á¤
    }
    
    // yÁÂÇ¥ Á¶Á¤
    if (EdgeROI.y < iStartY) {
        EdgeROI.y = iStartY;
    }
    if (EdgeROI.y + EdgeROI.height > iEndY) {
        EdgeROI.height = iEndY - EdgeROI.y; // ÃÖ´ë ¹üÀ§¸¦ ³ÑÁö ¾Êµµ·Ï ³ôÀÌ Á¶Á¤
    }

    // ¹üÀ§ Á¶Á¤ ÈÄ ³Êºñ¿Í ³ôÀÌ°¡ º¸´Ù ÀÛÀº °æ¿ì, °ªÀº À¸·Î ¼³Á¤
    if (EdgeROI.width < ) {
        EdgeROI.width = ;
    }
    if (EdgeROI.height < ) {
        EdgeROI.height = ;
    }
}

// »ç¿ë ¿¹½Ã
int main() {
    CvRect EdgeROI = cvRect(10, 10, 100, 50); // x, y, width, height
    int istartX = 15, iEndX = 100, iStartY = 20, iEndY = 60;

    clampEdgeROI(EdgeROI, istartX, iEndX, iStartY, iEndY);
    
    // EdgeROI°¡ ¾î¶»°Ô º¯Çß´ÂÁö È®ÀÎ
    std::cout << "Adjusted EdgeROI: " << EdgeROI.x << ", " << EdgeROI.y << ", " << EdgeROI.width << ", " << EdgeROI.height << std::endl;

    return ;
}

ÀÌ Äڵ忡¼­´Â clampEdgeROI ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÁÖ¾îÁø ¹üÀ§¸¦ ¹þ¾î³­ °æ¿ì¿¡¸¸ EdgeROIÀÇ x ¹× y ÁÂÇ¥¿Í ³Êºñ, ³ôÀ̸¦ Á¶Á¤ÇÕ´Ï´Ù. ÇØ´ç Á¶Á¤ ÈÄ¿¡´Â ³Êºñ³ª ³ôÀÌ°¡ º¸´Ù ÀÛ¾ÆÁöÁö ¾Êµµ·Ï ¼³Á¤ÇÕ´Ï´Ù. ÀÌ·¸°Ô Çϸé EdgeROI°¡ ÁöÁ¤µÈ ¹üÀ§¸¦ ¹þ¾î³ªÁö ¾Êµµ·Ï ¾ÈÀüÇÏ°Ô Àß¶ó³¾ ¼ö ÀÖ½À´Ï´Ù.

¾ÇÀïÀ̱۾´ÀÌ 2024-10-02 (¼ö) 19:31
EdgeROI.x+EdgeROI.width> iEndX À϶§ iEndXº¸´Ù Å«ºÎºÐÀ» À߶óÁÖ´Â Äڵ尡 ÀÌ»óÇØ
     
       
AIê 2024-10-02 (¼ö) 19:31
@¾ÇÀïÀÌ

EdgeROI.x + EdgeROI.width°¡ iEndX¸¦ ÃÊ°úÇÒ °æ¿ì, ÃÊ°úµÈ ³Êºñ ºÎºÐ¸¸ À߶󳻴 ¿Ã¹Ù¸¥ ÄÚµå´Â ´ÙÀ½°ú °°½À´Ï´Ù. ÄÚµå ¾Æ·¡¿¡ ÁÖ¼®À» Ãß°¡ÇÏ¿© °¢ ´Ü°èÀÇ Àǹ̸¦ ¼³¸íÇÏ°Ú½À´Ï´Ù.

#include 
#include 

void clampEdgeROI(CvRect& EdgeROI, int istartX, int iEndX, int iStartY, int iEndY) {
    // xÁÂÇ¥ Á¶Á¤
    if (EdgeROI.x < istartX) {
        EdgeROI.x = istartX; // ÃÖ¼Ò ¹üÀ§¸¦ ÃÊ°úÇÑ °æ¿ì
    }
    if (EdgeROI.x + EdgeROI.width > iEndX) {
        EdgeROI.width = iEndX - EdgeROI.x; // ÃÖ´ë ¹üÀ§¸¦ ³ÑÁö ¾Êµµ·Ï ³Êºñ Á¶Á¤
        // ÇÊ¿ä ½Ã ³Êºñ°¡ À½¼ö°¡ µÇ´Â °ÍÀ» ¹æÁö
        if (EdgeROI.width < ) {
            EdgeROI.width = ; // ³Êºñ°¡ À½¼ö°¡ µÇÁö ¾Êµµ·Ï
        }
    }
    
    // yÁÂÇ¥ Á¶Á¤
    if (EdgeROI.y < iStartY) {
        EdgeROI.y = iStartY; // ÃÖ¼Ò ¹üÀ§¸¦ ÃÊ°úÇÑ °æ¿ì
    }
    if (EdgeROI.y + EdgeROI.height > iEndY) {
        EdgeROI.height = iEndY - EdgeROI.y; // ÃÖ´ë ¹üÀ§¸¦ ³ÑÁö ¾Êµµ·Ï ³ôÀÌ Á¶Á¤
        // ÇÊ¿ä ½Ã ³ôÀÌ°¡ À½¼ö°¡ µÇ´Â °ÍÀ» ¹æÁö
        if (EdgeROI.height < ) {
            EdgeROI.height = ; // ³ôÀÌ°¡ À½¼ö°¡ µÇÁö ¾Êµµ·Ï
        }
    }
}

// »ç¿ë ¿¹½Ã
int main() {
    CvRect EdgeROI = cvRect(90, 10, 20, 30); // x, y, width, height
    int istartX = 15, iEndX = 100, iStartY = 20, iEndY = 60;

    clampEdgeROI(EdgeROI, istartX, iEndX, iStartY, iEndY);
    
    // Á¶Á¤µÈ EdgeROI°¡ ¾î¶»°Ô º¯Çß´ÂÁö È®ÀÎ
    std::cout << "Adjusted EdgeROI: " << EdgeROI.x << ", " << EdgeROI.y << ", " << EdgeROI.width << ", " << EdgeROI.height << std::endl;

    return ;
}

ÀÌ Äڵ忡¼­ clampEdgeROI ÇÔ¼ö´Â EdgeROIÀÇ x ¹× y ÁÂÇ¥¿Í ³Êºñ, ³ôÀ̸¦ ÁÖ¾îÁø ¹üÀ§¿¡ ¸ÂÃç Á¶Á¤ÇÕ´Ï´Ù. xÁÂÇ¥°¡ ÃÖ¼Ò ¹üÀ§¸¦ ÃÊ°úÇÏ´Â °æ¿ì¿Í ÃÖ´ë ¹üÀ§¸¦ ÃÊ°úÇÏ´Â °æ¿ì¸¦ °¢°¢ ó¸®Çϸç, ³Êºñ°¡ º¸´Ù ÀÛ¾ÆÁöÁö ¾Êµµ·Ï Ãß°¡ÀûÀÎ È®ÀÎÀ» ÇÕ´Ï´Ù.

ÀÌ Äڵ带 »ç¿ëÇϸé EdgeROIÀÇ °æ°è°¡ ÁöÁ¤µÈ ¹üÀ§¸¦ ¹þ¾î³ªÁö ¾Êµµ·Ï Àß¶ó³¾ ¼ö ÀÖ½À´Ï´Ù. EdgeROIÀÇ ³Êºñ°¡ ÀÌ µÇ´Â »óȲµµ ¹æÁöÇÕ´Ï´Ù.

¾ÇÀïÀ̱۾´ÀÌ 2024-10-02 (¼ö) 19:32
°í¸¶¿ö
     
       
AIê 2024-10-02 (¼ö) 19:32
@¾ÇÀïÀÌ

õ¸¸¿¡¿ä! µµ¿òÀÌ ÇÊ¿äÇÏ¸é ¾ðÁ¦µçÁö ¸»¾¸ÇØ ÁÖ¼¼¿ä. ÁÁÀº ÇÏ·ç µÇ¼¼¿ä!


 1  2  3  4  5  6  7  8  9  10  ´ÙÀ½

°øÀ¯Çϱâ

ÀÌÅä·£µå ·Î°í

°èÁ¤ ã±â ȸ¿ø°¡ÀÔ
¼Ò¼È·Î±×ÀÎ