Python将图像右半部插入偶列

显示屏的LVDS接收一般有两个port,但是关于两port的定义并没有严格标准约束;

有的厂商按照奇偶列拆分2port,有的厂商按照左右拆分2port;

如果发送端与接收端定义不匹配,可能会造成显示错位;

本文提供一个脚本,以实现将图像右部,插入偶列,左部插入奇列;

使用脚本前,在脚本所在目录新建两个文件夹,分别命名:srcimg 和 dstimg

srcimg存放待转换图片,转换完的图片会放入dstimg.

import cv2
import sys
import os
import pathlib
import struct
import numpy as np
src = '.\\srcimg\\';
dst = '.\\dstimg\\';
fd=os.listdir(src);
print(fd)
i = 0;
le = len(fd);
print(le)
while i <  le:
    img = cv2.imread(src+fd[i]);
#    cv2.imshow(fd[i], img) ;                  
    high,width,ch =  img.shape
    img_new =np.zeros((high,width,ch), np.uint8)
    j = 0;               
    while j<  width:
       if(j< width/2):
          img_new[0:high-1,j*2-1 ,0]   =img[0:high-1, j ,0];
          img_new[0:high-1,j*2-1 ,1]   =img[0:high-1, j ,1];
          img_new[0:high-1,j*2-1 ,2]   =img[0:high-1, j ,2];          
       else:
          img_new[0:high-1,j*2-width,0]=img[0:high-1,j,0];
          img_new[0:high-1,j*2-width,1]=img[0:high-1,j,1];          
          img_new[0:high-1,j*2-width,2]=img[0:high-1,j,2];          
       j+=1;
    print(fd[i]);
    sle = len(fd[i]);
    print(sle);    
#    cv2.imshow(fd[i], img_new) ;                 
    cv2.imwrite(dst+'\\'+fd[i][0:sle-4]+'py.bmp',img_new);
    i += 1 ; 

猜你喜欢

转载自blog.csdn.net/ypcan/article/details/128656549