import os
import cv2
from numpy import *
import numpy as np
class JPG2BGR_Solver(object):
def __init__(self):
self.img_size = 416 # save bgr size
# jpj2bgr converbgr=true 参数设置
self.imgpath_jpg = r"C:\\Users\\FeboReigns\\Desktop\\c1s1_002326.jpg"
self.saveimg_bgr = r"C:\\Users\\FeboReigns\\Desktop\\c1s1_002326.bgr"
# testbgr converbgr=false 参数设置
self.jpeg_path = r"C:\\Users\\FeboReigns\\Desktop\\c1s1_002326.jpg"
self.path = "C:\\Users\\FeboReigns\\Desktop\\c1s1_002326.bgr"
"""海思nnie模型需要输入bgr 格式的图片,这个python脚本可以把jpg格式的图片转换成.bgr格式的图片"""
def jpg2bgr(self):
save_img_size = self.img_size
imgpath_jpg = self.imgpath_jpg
img = cv2.imread(imgpath_jpg)
if img is None:
print("img is none")
else:
img = cv2.resize(img, (save_img_size, save_img_size))
(B, G, R) = cv2.split(img)
with open(self.saveimg_bgr, 'wb') as fp:
for i in range(save_img_size):
for j in range(save_img_size):
fp.write(B[i, j])
print(B[i, j])
for i in range(save_img_size):
for j in range(save_img_size):
fp.write(G[i, j])
for i in range(save_img_size):
for j in range(save_img_size):
fp.write(R[i, j])
print("save success")
"""查看bgr文件内容并显示为图片"""
def test_Hi_bgr(self):
jpeg_path = self.jpeg_path
path = self.path
imgsize = self.img_size
f = open(path, 'rb')
src = cv2.imread(jpeg_path)
src = cv2.resize(src, (imgsize, imgsize))
print(src.shape)
h = src.shape[0]
w = src.shape[1]
c = src.shape[2]
print(f.name)
(B, G, R) = cv2.split(src)
data = f.read(imgsize * imgsize * 3)
for j in range(imgsize):
for i in range(imgsize):
B[j, i] = data[j * imgsize + i]
G[j, i] = data[j * imgsize + i + imgsize * imgsize]
R[j, i] = data[j * imgsize + i + imgsize * imgsize * 2]
newimg = cv2.merge([B, G, R])
cv2.imshow("new", newimg)
f.close()
cv2.waitKey(0)
if __name__ == '__main__':
converbgr = False
solverObj = JPG2BGR_Solver()
if (converbgr == True):
solverObj.jpg2bgr()
else:
solverObj.test_Hi_bgr()
海思 .jpg转.bgr
于 2022-06-30 15:25:03 首次发布