中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

怎么在python中利用opencv對矩形進行分割-創新互聯

這篇文章主要介紹了怎么在python中利用opencv對矩形進行分割,創新互聯小編覺得不錯,現在分享給大家,也給大家做個參考,一起跟隨創新互聯小編來看看吧!

專注于為中小企業提供網站建設、成都網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業慈利免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了千余家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。Python主要用來做什么

Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。

代碼:

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

'''旋轉圖像并剪裁'''
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) # 矩形框旋轉角度
  print angle

  if pt4[1]>pt1[1]:
    print "順時針旋轉"
  else:
    print "逆時針旋轉"
    angle=-angle

  height = img.shape[0] # 原始圖像高度
  width = img.shape[1]  # 原始圖像寬度
  rotateMat = cv2.getRotationMatrix2D((width / 2, height / 2), angle, 1) # 按angle角度旋轉圖像
  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)

  # 旋轉后圖像的四點坐標
  [[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]]))

  # 處理反轉的情況
  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) # 裁減得到的旋轉矩形框
  cv2.waitKey(0)
  return imgRotation # rotated image


# 根據四點畫原矩形
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)

# 讀出文件中的坐標值
def ReadTxt(directory,imageName,last):
  fileTxt=directory+"//rawLabel//"+imageName[:7]+last # txt文件名
  getTxt=open(fileTxt, 'r') # 打開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轉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)

以上就是創新互聯小編為大家收集整理的怎么在python中利用opencv對矩形進行分割,如何覺得創新互聯網站的內容還不錯,歡迎將創新互聯網站推薦給身邊好友。

文章名稱:怎么在python中利用opencv對矩形進行分割-創新互聯
路徑分享:http://m.2m8n56k.cn/article14/dipige.html

成都網站建設公司_創新互聯,為您提供虛擬主機App設計Google網站設計公司用戶體驗品牌網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設
主站蜘蛛池模板: 亚洲一级免费毛片 | 自拍一页| 三级黄色免费网站 | 97在线观看完整免费 | 大片毛片女女女女女女女 | 97久久曰曰久久久 | 男人的天堂高清在线观看 | 欧美色综合高清视频在线 | 欧美一级三级在线观看 | 成人欧美精品一区二区不卡 | 成人a网站 | 国产成人精品亚洲日本语音 | 久久亚洲国产 | 国产一级一片免费播放i | 日韩毛片欧美一级a | 一级一黄在线观看视频免费 | 国产精品久久久免费视频 | 最新国产美女一区二区三区 | 国产女人伦码一区二区三区不卡 | 性做久久久久久久免费观看 | 亚洲 欧美 激情 另类 自拍 | 一区二区在线欧美日韩中文 | 一区两区三不卡 | 久久久久久久久久久9精品视频 | 国产成人精品午夜 | 女人张开腿让男人桶免费最新 | 日韩在线一区二区三区视频 | 碰碰碰精品视频在线观看 | 亚洲午夜免费 | 欧美一级二级片 | 狼人久久尹人香蕉尹人 | 久久一日本道色综合久 | 国产亚洲综合精品一区二区三区 | 91精品一区二区三区在线 | 夜色福利久久久久久777777 | 亚洲综合色自拍一区 | 欧美大胆a | 国产成人刺激视频在线观看 | 日本一级特黄aa毛片免费观看 | 国产成人亚洲综合一区 | 97久久精品一区二区三区 |