# -*- coding: utf-8 -*-
# 66rqw
# 2022/2/21
# PyCharm
# author='曹家伟',
# author_email='studyss@qq.com',
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名
# pip --default-timeout=100 install -U 库名
import cv2
import numpy as np
from PIL import Image
def CutImg(path,left,top,right,low):
# 裁剪图片
im = Image.open(path)
img = im.crop((left, top, right, low))
img.save("front.png")
def rgb_xy(path):
img = Image.open(path)
img = img.convert('RGB')
img.save("front.png")
img=cv2.imread('front.png')
Min_Heigh=241
Max_Low=-1
left=81
right=-1
for i in range(240):
for j in range(80):
if img[i,j][0] < 1 and img[i,j][1] < 1 and img[i,j][2] < 1:
# 按照像素值查找需要剪切图片的起始位置,现该位置像素值为[0,0,0]
continue
else:
# 获得剪切起始位置
if j < left:
left=j
if j > right:
right=j
if i > Max_Low:
Max_Low=i
if i < Min_Heigh:
Min_Heigh=i
top=Min_Heigh+16 #16、10是根据自己的需求
low=Max_Low-10
print("heigh="+ str(Min_Heigh)+" low="+str(Max_Low))
print("left="+str(left)+" right="+str(right))
CutImg('bg.jpg', 0, top, 440, low)
CutImg('front.jpg', left, top, right, low)
return left,top,right,low
if __name__ == '__main__':
import cv2
import numpy as np
from PIL import Image
img_path = 'bg1.png'
rgb_xy(img_path)