校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > python opencv通過4坐標剪裁圖片

python opencv通過4坐標剪裁圖片

熱門標簽:所得系統電梯怎樣主板設置外呼 市場上的電銷機器人 佛山400電話辦理 北瀚ai電銷機器人官網手機版 北京電銷外呼系統加盟 小蘇云呼電話機器人 地圖標注面積 朝陽手機外呼系統 儋州電話機器人

本文主要介紹了python opencv通過4坐標剪裁圖片,分享給大家,具體如下:

效果展示,


裁剪出的單詞圖像(如下)







這里程序我是用在paddleOCR里面,通過識別模型將識別出的圖根據程序提供的坐標(即四個頂點的值)進行摳圖的程序(上面的our和and就是扣的圖),并進行了封裝,相同格式的在這個基礎上改就是了

[[[368.0, 380.0], [437.0, 380.0], [437.0, 395.0], [368.0, 395.0]], [[496.0, 376.0], [539.0, 378.0], [538.0, 397.0], [495.0, 395.0]], [[466.0, 379.0], [498.0, 379.0], [498.0, 395.0], [466.0, 395.0]], [[438.0, 379
.0], [466.0, 379.0], [466.0, 395.0], [438.0, 395.0]], ]

從程序得到的數據格式大概長上面的樣子,由多個四個坐標一組的數據(如下)組成,即下面的[368.0, 380.0]為要裁剪圖片左上角坐標,[437.0, 380.0]為要裁剪圖片右上角坐標,[437.0, 395.0]為要裁剪圖片右下角坐標,[368.0, 395.0]為要裁剪圖片左下角坐標.

[[368.0, 380.0], [437.0, 380.0], [437.0, 395.0], [368.0, 395.0]]

而這里剪裁圖片使用的是opencv(由于參數的原因沒有設置角度的話就只能裁剪出平行的矩形,如果需要裁減出不與矩形圖片編譯平行的圖片的話,參考這個博客進行進一步的改進點擊進入)

裁剪部分主要是根據下面這一行代碼進行的,這里要記住(我被這里坑了一下午),
參數 tr[1]:左上角或右上角的縱坐標值
參數bl[1]:左下角或右下角的縱坐標值
參數tl[0]:左上角或左下角的橫坐標值
參數br[0]:右上角或右下角的橫坐標值

 crop = img[int(tr[1]):int(bl[1]), int(tl[0]):int(br[0]) ]

總的程序代碼如下

import numpy as np
import cv2


def np_list_int(tb):
    tb_2 = tb.tolist() #將np轉換為列表
    return tb_2


def shot(img, dt_boxes):#應用于predict_det.py中,通過dt_boxes中獲得的四個坐標點,裁剪出圖像
    dt_boxes = np_list_int(dt_boxes)
    boxes_len = len(dt_boxes)
    num = 0
    while 1:
        if (num  boxes_len):
            box = dt_boxes[num]
            tl = box[0]
            tr = box[1]
            br = box[2]
            bl = box[3]
            print("打印轉換成功數據num =" + str(num))
            print("tl:" + str(tl), "tr:" + str(tr), "br:" + str(br), "bl:" + str(bl))
            print(tr[1],bl[1], tl[0],br[0])


            crop = img[int(tr[1]):int(bl[1]), int(tl[0]):int(br[0]) ]

            
            # crop = img[27:45, 67:119] #測試
            # crop = img[380:395, 368:119]

            cv2.imwrite("K:/paddleOCR/PaddleOCR/screenshot/a/" + str(num) + ".jpg", crop)

            num = num + 1
        else:
            break


def shot1(img_path,tl, tr, br, bl,i):
    tl = np_list_int(tl)
    tr = np_list_int(tr)
    br = np_list_int(br)
    bl = np_list_int(bl)

    print("打印轉換成功數據")
    print("tl:"+str(tl),"tr:" + str(tr), "br:" + str(br), "bl:"+ str(bl))

    img = cv2.imread(img_path)
    crop = img[tr[1]:bl[1], tl[0]:br[0]]

    # crop = img[27:45, 67:119]

    cv2.imwrite("K:/paddleOCR/PaddleOCR/screenshot/shot/" + str(i) + ".jpg", crop)

# tl1 = np.array([67,27])
# tl2= np.array([119,27])
# tl3 = np.array([119,45])
# tl4 = np.array([67,45])
# shot("K:\paddleOCR\PaddleOCR\screenshot\zong.jpg",tl1, tl2 ,tl3 , tl4 , 0)

特別注意對np類型轉換成列表,以及crop = img[tr[1]:bl[1], tl[0]:br[0]]的中參數的位置,

實例

用了兩種方法保存圖片,opencv和Image,實踐證明opencv非常快

from PIL import Image
import os
import cv2
import time
import matplotlib.pyplot as plt
def label2picture(cropImg,framenum,tracker):
    pathnew ="E:\\img2\\"
    # cv2.imshow("image", cropImg)
    # cv2.waitKey(1)
    if (os.path.exists(pathnew + tracker)):
        cv2.imwrite(pathnew + tracker+'\\'+framenum + '.jpg', cropImg,[int(cv2.IMWRITE_JPEG_QUALITY), 100])
 
    else:
        os.makedirs(pathnew + tracker)
        cv2.imwrite(pathnew + tracker+'\\'+framenum + '.jpg', cropImg,[int(cv2.IMWRITE_JPEG_QUALITY), 100])
 
f = open("E:\\hypotheses.txt","r")
lines = f.readlines()
for line in lines:
    li  = line.split(',')
    print(li[0],li[1],li[2],li[3],li[4],li[5])
    filename = li[0]+'.jpg'
    img = cv2.imread("E:\\DeeCamp\\img1\\" + filename)
    crop_img = img[int(li[3][:-3]):(int(li[3][:-3]) + int(li[5][:-3])),
               int(li[2][:-3]):(int(li[2][:-3]) + int(li[4][:-3]))]
    # print(int(li[2][:-3]),int(li[3][:-3]),int(li[4][:-3]),int(li[5][:-3]))
    label2picture(crop_img, li[0], li[1])
# #
# x,y,w,h = 87,158,109,222
# img = cv2.imread("E:\\DeeCamp\\img1\\1606.jpg")
# # print(img.shape)
# crop = img[y:(h+y),x:(w+x)]
# cv2.imshow("image", crop)
# cv2.waitKey(0)
# img = Image.open("E:\\DeeCamp\\img1\\3217.jpg")
#
# cropImg = img.crop((x,y,x+w,y+h))
# cropImg.show()
    # img = Image.open("E:\\deep_sort-master\\MOT16\\train\\try1\\img1\\"+filename)
    # print(int(li[2][:-3]),(int(li[2][:-3])+int(li[4][:-3])), int(li[3][:-3]),(int(li[3][:-3])+int(li[5][:-3])))
 
    # #裁切圖片
    # # cropImg = img.crop(region)
    # # cropImg.show()
    # framenum ,tracker= li[0],li[1]
    # pathnew = 'E:\\DeeCamp\\deecamp項目\\deep_sort-master\\crop_picture\\'
    # if (os.path.exists(pathnew + tracker)):
    #     # 保存裁切后的圖片
    #     plt.imshow(cropImg)
    #     plt.savefig(pathnew + tracker+'\\'+framenum + '.jpg')
    # else:
    #     os.makedirs(pathnew + tracker)
    #     plt.imshow(cropImg)
    #     plt.savefig(pathnew + tracker+'\\'+framenum + '.jpg')

到此這篇關于python opencv通過4坐標剪裁圖片的文章就介紹到這了,更多相關opencv 剪裁圖片內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Python+opencv裁剪/截取圖片的幾種方式
  • Python OpenCV實現裁剪并保存圖片
  • python通過opencv實現圖片裁剪原理解析
  • Python實現圖片裁剪的兩種方式(Pillow和OpenCV)
  • python opencv對圖像進行旋轉且不裁剪圖片的實現方法
  • OpenCV Java實現人臉識別和裁剪功能
  • OpenCV使用鼠標響應裁剪圖像
  • python通過opencv實現批量剪切圖片
  • 實現opencv圖像裁剪分屏顯示示例

標簽:江蘇 云南 商丘 金融催收 定西 寧夏 龍巖 酒泉

巨人網絡通訊聲明:本文標題《python opencv通過4坐標剪裁圖片》,本文關鍵詞  python,opencv,通過,坐標,剪裁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python opencv通過4坐標剪裁圖片》相關的同類信息!
  • 本頁收集關于python opencv通過4坐標剪裁圖片的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    99re66热这里只有精品3直播 | 亚洲成人黄色影院| 久久久久国产精品免费免费搜索| 91精品欧美一区二区三区综合在| 在线国产电影不卡| 欧美三级欧美一级| 欧美色精品天天在线观看视频| 色综合久久久久久久久久久| 在线亚洲一区二区| 欧美私人免费视频| 666欧美在线视频| 欧美草草影院在线视频| 国产校园另类小说区| 国产欧美一区二区精品性色| 中文字幕在线不卡一区| 亚洲一区二区视频在线观看| 丝袜美腿亚洲综合| 国产在线精品国自产拍免费| 成人深夜视频在线观看| 精品婷婷伊人一区三区三| 欧美一卡2卡3卡4卡| 国产欧美精品一区二区色综合 | 666欧美在线视频| 久久尤物电影视频在线观看| 国产精品少妇自拍| 亚洲一区二区在线免费看| 麻豆国产精品一区二区三区| 成人中文字幕在线| 3d成人动漫网站| 国产精品国产三级国产a| 亚洲成人av电影| 成人免费精品视频| 欧美精品免费视频| 欧美激情一区二区三区不卡 | 久久99国产精品久久| www.亚洲人| 日韩一二三四区| 亚洲色图制服丝袜| 国产在线视视频有精品| 欧美性极品少妇| 国产精品久久久久影院| 美国三级日本三级久久99| 91免费看片在线观看| 精品剧情在线观看| 视频在线观看一区| 色爱区综合激月婷婷| 国产肉丝袜一区二区| 青青草原综合久久大伊人精品优势| 国产 欧美在线| 欧美成人vr18sexvr| 天堂午夜影视日韩欧美一区二区| 99久久精品免费| 久久久久国产精品麻豆ai换脸| 日日骚欧美日韩| 欧美日韩免费视频| 一区二区不卡在线播放| 成人高清免费观看| 欧美激情综合五月色丁香| 激情小说欧美图片| 精品美女一区二区三区| 日本伊人色综合网| 欧美日韩日日摸| 亚洲一区二区偷拍精品| 欧洲亚洲精品在线| 亚洲人成亚洲人成在线观看图片| 粉嫩aⅴ一区二区三区四区 | 日韩精品一区二区三区四区| 亚洲国产成人av| 欧美日韩亚洲综合| 日日夜夜免费精品视频| 日韩一区二区在线观看| 男人的天堂久久精品| 精品国产91洋老外米糕| 久久精品国产99| 久久久久久久久久电影| 国产99精品在线观看| 国产亚洲一本大道中文在线| 国产精品一二三四区| 国产精品视频一二三区| 91麻豆国产在线观看| 亚洲一级二级三级| 欧美精品日韩一本| 美脚の诱脚舐め脚责91 | 日韩精品成人一区二区三区| 欧美另类变人与禽xxxxx| 日本不卡中文字幕| 久久影院电视剧免费观看| 日韩和欧美一区二区三区| 麻豆视频观看网址久久| 欧美电影免费观看高清完整版在线| 亚洲激情一二三区| 国产精品一区二区在线播放| 丁香啪啪综合成人亚洲小说| 国产日韩亚洲欧美综合| 不卡一区中文字幕| 亚洲综合图片区| 日韩一区二区三区在线| 国产精品综合在线视频| 亚洲欧美日韩在线播放| 91麻豆swag| 免费久久精品视频| 国产欧美日韩精品一区| 一本一道综合狠狠老| 青青草97国产精品免费观看 | 国产成人在线电影| 国产精品私人影院| 日本韩国欧美一区二区三区| 日韩成人一区二区三区在线观看| 久久久久久99精品| 欧美系列亚洲系列| 福利一区二区在线| 天堂资源在线中文精品| 中文文精品字幕一区二区| 欧美日韩久久一区二区| 成人丝袜18视频在线观看| 日产欧产美韩系列久久99| 一区在线中文字幕| 欧美tk—视频vk| 日本精品一级二级| 国产成人免费视频网站高清观看视频| 1024亚洲合集| 久久久久亚洲蜜桃| 在线播放中文一区| av一二三不卡影片| 国产精品一二三在| 老司机午夜精品99久久| 亚洲国产美女搞黄色| 国产精品每日更新| 久久婷婷成人综合色| 欧美丰满一区二区免费视频| 成人午夜精品在线| 国产在线精品不卡| 久久av资源站| 麻豆视频观看网址久久| 亚洲成人你懂的| 1000精品久久久久久久久| 国产亚洲一区二区在线观看| 日韩一区二区三区免费看 | 久久精品av麻豆的观看方式| 亚洲午夜日本在线观看| 国产精品福利一区| 欧美极品少妇xxxxⅹ高跟鞋| 26uuu另类欧美| 日韩一区二区电影网| 91精品国产入口| 制服丝袜激情欧洲亚洲| 欧美日本不卡视频| 欧美日韩亚洲综合| 8x8x8国产精品| 日韩欧美综合一区| 欧美成人精品3d动漫h| 国产亚洲欧美在线| 国产嫩草影院久久久久| 中文字幕av一区二区三区| 久久精品欧美日韩精品| 国产精品毛片久久久久久久| 亚洲国产精品精华液ab| 国产精品不卡一区| 一区二区三区成人| 午夜视频在线观看一区| 青草国产精品久久久久久| 黑人巨大精品欧美黑白配亚洲| 狠狠色综合播放一区二区| 国精品**一区二区三区在线蜜桃| 国产麻豆视频一区| 一本久久精品一区二区| 欧美日韩日本视频| 精品国产免费人成在线观看| 国产午夜精品美女毛片视频| 亚洲人一二三区| 天天影视网天天综合色在线播放| 经典三级视频一区| 一本高清dvd不卡在线观看| 欧美日韩免费高清一区色橹橹| 欧美一二区视频| 亚洲日本中文字幕区| 石原莉奈一区二区三区在线观看| 久久电影网电视剧免费观看| 成人在线一区二区三区| 欧美日韩精品是欧美日韩精品| 精品久久久久久无| 亚洲色图在线播放| 精品一二三四在线| 色老头久久综合| 精品国产乱码久久久久久老虎 | 99精品国产91久久久久久| 欧美亚洲国产一区二区三区va | 成人免费视频一区| 欧美日韩在线直播| 欧美激情综合网| 青青草成人在线观看| 色婷婷亚洲婷婷| 久久久99精品免费观看不卡| 亚洲福利一二三区| 成人av电影在线观看| 日韩欧美电影一二三| 亚洲免费视频成人| 国产成人精品亚洲午夜麻豆| 欧美日韩精品一区二区三区蜜桃| 国产精品久久久久天堂|