import cv2 import numpy as np import math img=cv2.imread("/home/cxy/tmp/img.jpeg") print(img.shape) #exit(0) r=img[:,:,0] g=img[:,:,1] b=img[:,:,2] R=np.array(r, dtype=np.float) #1080*1080 A=np.zeros((img.shape[0], img.shape[0]), dtype=np.float) #1920*1920 C=np.zeros((img.shape[1], img.shape[1]), dtype=np.float) NA=img.shape[0] for col in range(NA): for row in range(NA): c=math.sqrt(2.0/NA) if row == 0: c=math.sqrt(1.0/NA) A[row][col] = math.cos(math.pi*row*(col+0.5)/NA) * c NC=img.shape[1] for col in range(NC): for row in range(NC): c=math.sqrt(2.0/NC) if row == 0: c=math.sqrt(1.0/NC) C[row][col] = math.cos(math.pi*row*(col+0.5)/NC) * c result = A.dot(R).dot(C.T) for row in range(result.shape[0]): for col in range(result.shape[1]): if(row+col>400): result[row][col]=0.0 #result[row][col]/=((row+col+100.0)/100.0) cv2.putText(result,"ABC",(900,900),cv2.FONT_HERSHEY_SIMPLEX,2.0,(40,), 5) cv2.imshow("a", np.array(result, dtype=np.uint8)) cv2.imshow("b", np.array(A.T.dot(result).dot(C), dtype=np.uint8)) cv2.waitKey()
【无标题】2 dim DCT
最新推荐文章于 2024-08-10 10:46:00 发布