Python fügt die rechte Hälfte des Bildes in eine gerade Spalte ein

Der LVDS-Empfang des Bildschirms verfügt im Allgemeinen über zwei Ports, es gibt jedoch keine strengen Standardbeschränkungen für die Definition der beiden Ports.

Einige Hersteller teilen den 2-Port entsprechend der ungeraden-geraden Spalte auf, und einige Hersteller teilen den 2-Port entsprechend der linken und rechten Spalte auf;

Wenn die Definitionen des sendenden Endes und des empfangenden Endes nicht übereinstimmen, kann es zu einer Fehlausrichtung der Anzeige kommen;

Dieser Artikel stellt ein Skript zum Einfügen des rechten Teils des Bildes in die gerade Spalte und des linken Teils in die ungerade Spalte bereit;

Erstellen Sie vor der Verwendung des Skripts zwei neue Ordner in dem Verzeichnis, in dem sich das Skript befindet, mit den jeweiligen Namen: srcimg und dstimg

srcimg speichert die zu konvertierenden Bilder und die konvertierten Bilder werden in dstimg abgelegt.

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