图片处理和opencv
1、jpg为有损压缩(表现为解压再压缩值不相等),尽量使用png格式
https://blog.csdn.net/u013925378/article/details/104814001
2、图像保存的格式为 高×宽×颜色通道,但是 cv2.resize这个api却是个小例外。因为它的参数输入却是 宽×高×颜色通道
在计算机中,图像是以矩阵的形式保存的,先行后列。所以,一张 宽×高×颜色通道=480×256×3 的图片会保存在一个 256×480×3 的三维张量中。图像处理时也是按照这种思想进行计算的(其中就包括 OpenCV 下的图像处理),即 高×宽×颜色通道。
3、jpg图片转为BGR图片使用numpy.tofile方法,注意BGR文件保存为一个长的string,string内容为BBBB...GGGGGG...RRRRR...
读取BGR图片使用np.fromfile方法 https://blog.csdn.net/u010089444/article/details/52738479
ori = cv2.imread("/home/svp/Hi3559A/Hi3559AV100_SDK_V2.0.2.0/mpp/sample/svp/multi-core_pyc/nnie/data/nnie_image/rgb_planar/2.bmp")
ori = ori.resize(dest_size) #形状为 H x W x C
ori = ori.transpose(2,0,1) #形状为 C x H x W
ori.tofile("filename.bgr")
BGR图片转jpg
b = np.fromfile("filename.bin",dtype = np.uint8) # dtype可以从ori.dtype获得
cv2.imwrite("filename.bin", b.reshape(3, 928, 1664).transpose(1,2,0))
工程化
1、resize
https://blog.csdn.net/poem_qianmo/article/details/26157633?utm_source=tuicool
2、c码实现resize
https://blog.csdn.net/baidu_31872269/article/details/62040826
3、双线性插值原理
https://www.cnblogs.com/yssongest/p/5303151.html
4、cvsaturate_cast实现
https://www.cnblogs.com/ironstark/p/4892632.html