首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(python)对于循环操作,0次,1次,多次差分

(python)对于循环操作,0次,1次,多次差分
EN

Stack Overflow用户
提问于 2022-11-10 10:39:09
回答 1查看 23关注 0票数 0

(python),用于循环操作0次,1次,多次用于在同一个img上创建几个cv2矩形

我计划在原始img上画正方形,显示副本的部分,如果有三个,只写2倍于第一个原始图片输出,那应该有2个正方形。

我试着把下面的每一步都说出来。

代码语言:javascript
复制
for k in range(len(list_for_duplicate_x_and_y)):

    # means no duplicate, don't need to draw square
    if len(list_for_duplicate_x_and_y) ==  0:
        print("ok no duplicate")

    # draw square on img "original_duplicate.png"
    elif len(list_for_duplicate_x_and_y) <  0:
        duplicate_xy = list_for_duplicate_x_and_y[k]
        duplicate_x = duplicate_xy[0]
        duplicate_y = duplicate_xy[1]
        k +=1
        img = cv2.imread("/home/student_DC/desktop/optimization_11_10/original_duplicate.png")
        duplicate_x = duplicate_x - 28
        duplicate_y = duplicate_y -54
        cv2.rectangle(img, (duplicate_x, duplicate_y), (duplicate_x + 92, duplicate_y + 82), (0, 255, 5), 5) 
        cv2.imwrite("/home/student_DC/desktop/optimization_11_10/original_duplicate_output.png" , img)

        # means 1 duplicate,  draw 1 square on duplicate part
        if len(list_for_duplicate_x_and_y) == 1:
            break

        # draw square on img "original_duplicate_output", and if there is three, just over write 2 times, should has 2 square
        # means n duplicate,  draw n square on duplicate part
        elif len(list_for_duplicate_x_and_y) < 1: 
            img = cv2.imread("/home/student_DC/desktop/optimization_11_10/original_duplicate_output.png")
            duplicate_x = duplicate_x - 28
            duplicate_y = duplicate_y -54
            cv2.rectangle(img, (duplicate_x, duplicate_y), (duplicate_x + 92, duplicate_y + 82), (0, 255, 5), 5) 
            cv2.imwrite("/home/student_DC/desktop/optimization_11_10/original_duplicate_output.png" , img)      

问题:如何圈出多个绿色正方形,我的输出总是一平方

这是输出图:https://imgur.com/a/hnj0KS7

(ps.)我想是第25行elif len(list_for_duplicate_x_and_y) < 1:需要改变什么,能不能有人帮我一下,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-11 08:05:56

您根本不需要那些if语句。根据列表的长度,您处于一个for循环中。如果长度为零,则循环将不会运行。长度不可能是< 0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74387614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档