欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么在python中利用opencv對(duì)矩形進(jìn)行分割-創(chuàng)新互聯(lián)

這篇文章主要介紹了怎么在python中利用opencv對(duì)矩形進(jìn)行分割,創(chuàng)新互聯(lián)小編覺(jué)得不錯(cuò),現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨創(chuàng)新互聯(lián)小編來(lái)看看吧!

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)慈利免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。Python主要用來(lái)做什么

Python主要應(yīng)用于:1、Web開(kāi)發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲(chóng);4、嵌入式應(yīng)用開(kāi)發(fā);5、游戲開(kāi)發(fā);6、桌面應(yīng)用開(kāi)發(fā)。

代碼:

# -*- coding:utf-8 -*-
import cv2
from math import *
import numpy as np
import time,math
import os
import re

'''旋轉(zhuǎn)圖像并剪裁'''
def rotate(
    img, # 圖片
    pt1, pt2, pt3, pt4
):
  print pt1,pt2,pt3,pt4
  withRect = math.sqrt((pt4[0] - pt1[0]) ** 2 + (pt4[1] - pt1[1]) ** 2) # 矩形框的寬度
  heightRect = math.sqrt((pt1[0] - pt2[0]) ** 2 + (pt1[1] - pt2[1]) **2)
  print withRect,heightRect
  angle = acos((pt4[0] - pt1[0]) / withRect) * (180 / math.pi) # 矩形框旋轉(zhuǎn)角度
  print angle

  if pt4[1]>pt1[1]:
    print "順時(shí)針旋轉(zhuǎn)"
  else:
    print "逆時(shí)針旋轉(zhuǎn)"
    angle=-angle

  height = img.shape[0] # 原始圖像高度
  width = img.shape[1]  # 原始圖像寬度
  rotateMat = cv2.getRotationMatrix2D((width / 2, height / 2), angle, 1) # 按angle角度旋轉(zhuǎn)圖像
  heightNew = int(width * fabs(sin(radians(angle))) + height * fabs(cos(radians(angle))))
  widthNew = int(height * fabs(sin(radians(angle))) + width * fabs(cos(radians(angle))))

  rotateMat[0, 2] += (widthNew - width) / 2
  rotateMat[1, 2] += (heightNew - height) / 2
  imgRotation = cv2.warpAffine(img, rotateMat, (widthNew, heightNew), borderValue=(255, 255, 255))
  cv2.imshow('rotateImg2', imgRotation)
  cv2.waitKey(0)

  # 旋轉(zhuǎn)后圖像的四點(diǎn)坐標(biāo)
  [[pt1[0]], [pt1[1]]] = np.dot(rotateMat, np.array([[pt1[0]], [pt1[1]], [1]]))
  [[pt3[0]], [pt3[1]]] = np.dot(rotateMat, np.array([[pt3[0]], [pt3[1]], [1]]))
  [[pt2[0]], [pt2[1]]] = np.dot(rotateMat, np.array([[pt2[0]], [pt2[1]], [1]]))
  [[pt4[0]], [pt4[1]]] = np.dot(rotateMat, np.array([[pt4[0]], [pt4[1]], [1]]))

  # 處理反轉(zhuǎn)的情況
  if pt2[1]>pt4[1]:
    pt2[1],pt4[1]=pt4[1],pt2[1]
  if pt1[0]>pt3[0]:
    pt1[0],pt3[0]=pt3[0],pt1[0]

  imgOut = imgRotation[int(pt2[1]):int(pt4[1]), int(pt1[0]):int(pt3[0])]
  cv2.imshow("imgOut", imgOut) # 裁減得到的旋轉(zhuǎn)矩形框
  cv2.waitKey(0)
  return imgRotation # rotated image


?!「鶕?jù)四點(diǎn)畫(huà)原矩形
def drawRect(img,pt1,pt2,pt3,pt4,color,lineWidth):
  cv2.line(img, pt1, pt2, color, lineWidth)
  cv2.line(img, pt2, pt3, color, lineWidth)
  cv2.line(img, pt3, pt4, color, lineWidth)
  cv2.line(img, pt1, pt4, color, lineWidth)

# 讀出文件中的坐標(biāo)值
def ReadTxt(directory,imageName,last):
  fileTxt=directory+"//rawLabel//"+imageName[:7]+last # txt文件名
  getTxt=open(fileTxt, 'r') # 打開(kāi)txt文件
  lines = getTxt.readlines()
  length=len(lines)
  for i in range(0,length,4):
    pt2=list(map(float,lines[i].split(' ')[:2]))
    pt1=list(map(float,lines[i+1].split(' ')[:2]))
    pt4=list(map(float,lines[i+2].split(' ')[:2]))
    pt3=list(map(float,re.split('\n| ',lines[i+3])[:2]))
    # float轉(zhuǎn)int

    pt2=list(map(int,pt2))
    pt1=list(map(int,pt1))
    pt4=list(map(int,pt4))
    pt3=list(map(int,pt3))

    imgSrc = cv2.imread(imageName)
    drawRect(imgSrc, tuple(pt1),tuple(pt2),tuple(pt3),tuple(pt4), (0, 0, 255), 2)
    cv2.imshow("img", imgSrc)
    cv2.waitKey(0)
    rotate(imgSrc,pt1,pt2,pt3,pt4)


if __name__=="__main__":
  directory = "G://grasp//grapCode//trainImage//jpg//4"
  last = 'cneg.txt'
  imageName="pcd0247r.png"
  ReadTxt(directory,imageName,last)

以上就是創(chuàng)新互聯(lián)小編為大家收集整理的怎么在python中利用opencv對(duì)矩形進(jìn)行分割,如何覺(jué)得創(chuàng)新互聯(lián)網(wǎng)站的內(nèi)容還不錯(cuò),歡迎將創(chuàng)新互聯(lián)網(wǎng)站推薦給身邊好友。

文章名稱:怎么在python中利用opencv對(duì)矩形進(jìn)行分割-創(chuàng)新互聯(lián)
路徑分享:http://aaarwkj.com/article14/dipige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、App設(shè)計(jì)、Google網(wǎng)站設(shè)計(jì)公司、用戶體驗(yàn)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
国产91美女黄色在线观看| 精品亚洲午夜久久久久| 男女激情视频久久精品| 国产情侣最新地址在线| 久久99热婷婷精品一区| 亚洲一区二区三区av蜜桃| 免费欧美大片在线观看高清| 人妻中文字幕日韩av| 亚洲av色香蕉一区二区| 国产呦精品一区二区三区| 日本欧美亚洲一区二区三区| 精品一区二区三区推荐| 麻豆看片高清在线播放| 色呦呦视频在线免费看| 日韩中文字幕免费一区二区| 尤物资源视频在线观看| 极品美女被插到高潮喷水| 思思久久96热在精品国产| 国产亚洲精品第一最新| 一区二区三区在线观看精品| 夜夜草视频在线免费观看| 国产一区二区不卡自拍| 欧洲精品亚洲精品日韩专区| 欧美日韩综合人妻丝袜偷拍| 久久色综合色悠悠色综合色| 色吊丝二区三区中文字幕| 91午夜福利国产在线观看| 中日韩中文字幕一区二区| 午夜午色夜之日本福利片| 日本黄色大波少妇网站| 精品国产av一区二区麻豆| 成人夜间视频在线观看| 抱着操才爽的免费视频观看| 中文字幕精品一区二区三区精品 | 国产精品一区午夜福利| 麻豆国产国语精品三级在线观看| 日韩欧美一区二区免费| 欧美日韩国产一区在线观看| 在线高清中文字幕三区| 欧美性大片免费在线观看| 欧美亚洲综合另类色妞|