def write_transform(path1, path2):
    img1 = cv2.imread(path1)
    img2 = cv2.imread(path2)
    sift = Sift()
    des1 = sift.get_descriptors(img1)
    des2 = sift.get_descriptors(img2)
    imt = ImageTransform()
    im = imt.find_and_apply_transformation(des1, des2, img1, img2, 600)
    write_image(4, im, True)
Example #2
0
class PFrameHandle():
	def __init__(self,QP):
		self.data = []
		self.IMT = ImageTransform()
		self.IT = IntegerTransform()
		self.IT.QuantizationMatrix(QP)

	def encode3Channels(self, IFrame, PFrame):
		yuvI = self.IMT.rgb2yuv(IFrame)
		yuvP = self.IMT.rgb2yuv(PFrame)

		[Y_I, Cr_I, Cb_I] = self.IMT.chromaSub(yuvI)
		[Y_P, Cr_P, Cb_P] = self.IMT.chromaSub(yuvP)

		[diffY, motionVectorY] = self.encode(Y_I,Y_P)
		[diffCr, motionVectorCr] = self.encode(Cr_I,Cr_P)
		[diffCb, motionVectorCb] = self.encode(Cb_I,Cb_P)

		return [diffY, motionVectorY, diffCr, motionVectorCr, diffCb, motionVectorCb]
	
	def encode(self, IFrame, PFrame):
		mvP = MotionVecP(IFrame, PFrame) #Initialize A instance
		motionVector = mvP.getMotionVecForAll()
		estimatedPFrame = mvP.recoverPfromI(IFrame, motionVector)
		diffEstMinusReal = PFrame - estimatedPFrame 

		# Integer Transfer		
		diffEstMinusRealVec = self.IMT.vecMat(diffEstMinusReal, 4)
		diffEstMinusRealVecIntTran = self.IT.EnIntegerTransformVec(diffEstMinusRealVec)

		return [diffEstMinusRealVecIntTran, motionVector]

	def decode3Channels(self, IFrame, diffAndmotionVector):
		yuvI = self.IMT.rgb2yuv(IFrame)

		[Y_I, Cr_I, Cb_I] = self.IMT.chromaSub(yuvI)
		[diffY, motionVectorY, diffCr, motionVectorCr, diffCb, motionVectorCb] = diffAndmotionVector		

		Y_P = self.decode(Y_I, diffY, motionVectorY)
		Cr_P = self.decode(Cr_I, diffCr, motionVectorCr)
		Cb_P = self.decode(Cb_I, diffCb, motionVectorCb)

		#Expand all 3 channels
		yuvRec = self.IMT.chromaExpand(Y_P, Cr_P, Cb_P)
		rgbImRec = self.IMT.yuv2rgb(yuvRec)
		rgbIm =  self.IMT.double2uintImage(rgbImRec)
		return rgbIm

	def decode(self, IFrame, diff,  motionVector):
		mvP = MotionVecP(IFrame, np.zeros_like(IFrame)) #Here use both I frame to initialize, as no need for Pframe
		estimatedPFrame = mvP.recoverPfromI(IFrame, motionVector)
		
		#DeInteger Transform for diff
		diffDetraned = self.IT.DeIntegerTransformVec(diff)
		diffRec = self.IMT.dvecMat(np.shape(IFrame), diffDetraned, 4)

		PFrame = estimatedPFrame + diffRec


		return PFrame
    def __init__(self, src_video_file_path, dst_video_file_path):
        cap = cv2.VideoCapture(src_video_file_path)
        fps = cap.get(cv2.CAP_PROP_FPS)

        # Define the codec and create VideoWriter object
        fourcc = cv2.VideoWriter_fourcc(*'XVID')
        width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) + 0  # float
        height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) + 0# float
        length = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
        out = cv2.VideoWriter(dst_video_file_path + '.avi',fourcc, fps, (width,height))

        transform_image = ImageTransform(False)
        it = 0
        first_frame = None
        print("Skipping first 30 frames...")
        while(cap.isOpened()):
            #print('in')
            ret, frame = cap.read()
            if ret==True:
                
                it += 1
                if it < 30:
                    continue

                print("frame", it-30, "of", length-30, ', %.2f %%' % (100*((it-30)/(length-30))))
                
                out_frame = None
                if first_frame is not None:
                    #first_frame is already with a border     
                    newframe = first_frame.copy()               
                    out_frame = transform_image.show_matched_reuse(newframe, frame)
                    if out_frame is None:
                        print("skipping frame")
                        continue                                                 
                else:
                    out_frame = frame.copy()
                    first_frame = frame.copy()
                    new_frame = frame
                    transform_image.set_first_frame(new_frame)

                debug('first frame', first_frame)
                debug('out frame', out_frame)

                w, h, c = out_frame.shape
                out.write(out_frame)
            else:
                break

        # Release everything if job is finished
        cap.release()
        out.release()
        cv2.destroyAllWindows()
def main(encoder, data_path):

    files_data_path = create_dataset_path(data_path)
    dataloader = Dataloader(file_path=files_data_path,
                            encoder=encoder,
                            transform=ImageTransform(resize, mean, std))

    images = []
    nhans = []
    for i in tqdm(range(dataloader.__len__())):
        #image = image.to(device)
        #nhan = nhan.to(device)
        try:
            image, nhan = dataloader.__getitem__(i)
            images.append(image)
            nhans.append(nhan)
        except:
            continue
    with open("train_encoded_images", "wb") as pickle_f:
        pickle.dump(images, pickle_f)
    with open("label_images_vgg", "wb") as pickle_f:
        pickle.dump(nhans, pickle_f)
    x_train, x_val, y_train, y_val = train_test_split(images,
                                                      nhans,
                                                      test_size=0.2,
                                                      random_state=0)
    svc.fit(x_train, y_train)
    predict = svc.predict(x_val)
    acc_score = accuracy_score(y_val, predict)
    print(acc_score)
Example #5
0
def encode(imgRGB, quantMat):
	orgImage = imt.ImageTransform()
	orgImage.initFromRGB(imgRGB)
	#orgImage.showImage()

	'''yuv transform'''


	yuvImage = orgImage.rgb2yuv()
	#print yuvImage[:,:,0]
	#rgbImage = orgImage.yuv2rgb()

	#print (rgbImage.dtype)
	#orgImage.rgb2img(imgRGB).show()

	#rgbImage = orgImage.yuv2rgb()
	#rgbImage = rgbImage.astype(np.uint8)

	#print orgRGB - rgbImage
	#imgtoshow = orgImage.rgb2img(orgRGB - rgbImage)
	#imgtoshow.show()

	#print rgbImage
	'''sub sample'''
	orgImage.chromaSub() 


	#print orgImage.Y.shape
	#print orgImage.Cr.shape
	#print orgImage.Cb.shape

	'''vectorize all three channels'''
	vecY = dct.DCT.vecMat(orgImage.Y)
	vecCr = dct.DCT.vecMat(orgImage.Cr)
	vecCb = dct.DCT.vecMat(orgImage.Cb)

	#print np.shape(vecY)
	#print np.shape(vecCr)

	'''do DCT on YUV'''
	dctIm = dct.DCT()
	F_vecY = dctIm.dctVec(vecY)
	F_vecCr = dctIm.dctVec(vecCr)
	F_vecCb = dctIm.dctVec(vecCb)


	'''Quantization on all F'''
	imgQuant = quant.Quantization()
	imgQuant.initQTMatrix(quantMat)

	#print imgQuant.QuantMatrix.dtype
	F_vecY_Quan = imgQuant.quanitzeVec(F_vecY)
	F_vecCr_Quan = imgQuant.quanitzeVec(F_vecCr)
	F_vecCb_Quan = imgQuant.quanitzeVec(F_vecCb)
	
	#print np.min((F_vecY_Quan))
	F_info =  [F_vecY_Quan, F_vecCr_Quan, F_vecCb_Quan]
	orgShape = np.shape(imgRGB)
	return F_info, orgShape
Example #6
0
class IFrameHandle():
	def __init__(self, QP):
		self.data = []	
		self.IC = IntraCoding(QP)
		self.IMT = ImageTransform()
	def IFrameDecoded(self, IFrame):
		yuvI = self.IMT.rgb2yuv(IFrame)
		[Y_I, Cr_I, Cb_I] = self.IMT.chromaSub(yuvI)

		Y_rec = self.encode(Y_I)
		Cr_rec = self.encode(Cr_I)
		Cb_rec = self.encode(Cb_I)
		#print np.shape(Y_rec)
		yuvRec = self.IMT.chromaExpand(Y_rec, Cr_rec, Cb_rec)
		rgbImRec = self.IMT.yuv2rgb(yuvRec)
		rgbIm = self.IMT.double2uintImage(rgbImRec)

		return rgbIm

	def encode(self, IFrame):
		recFrame = self.IC.IntraCodingVec(IFrame)
		return recFrame
Example #7
0
class IFrameHandle():
    def __init__(self, QP):
        self.data = []
        self.IC = IntraCoding(QP)
        self.IMT = ImageTransform()

    def IFrameDecoded(self, IFrame):
        yuvI = self.IMT.rgb2yuv(IFrame)
        [Y_I, Cr_I, Cb_I] = self.IMT.chromaSub(yuvI)

        Y_rec = self.encode(Y_I)
        Cr_rec = self.encode(Cr_I)
        Cb_rec = self.encode(Cb_I)
        #print np.shape(Y_rec)
        yuvRec = self.IMT.chromaExpand(Y_rec, Cr_rec, Cb_rec)
        rgbImRec = self.IMT.yuv2rgb(yuvRec)
        rgbIm = self.IMT.double2uintImage(rgbImRec)

        return rgbIm

    def encode(self, IFrame):
        recFrame = self.IC.IntraCodingVec(IFrame)
        return recFrame
Example #8
0
def main(quantMat, path):
    #quantMat = np.full([8,8], 1)

    #Read Image
    orgImage = imt.ImageTransform()
    orgRGB = orgImage.readImage(path)

    #Reduce resolution
    imgPIL = orgImage.rgb2img(orgRGB)
    halfImg = imt.ImageTransform.imresize(imgPIL, np.shape(orgRGB), 2)
    quartImg = imt.ImageTransform.imresize(imgPIL, np.shape(orgRGB), 4)
    '''Hierachical Encoding'''
    #Encode quartImg
    F_info_quart, orgShape_quart = coding.encode(np.array(quartImg), quantMat)
    #print orgShape_quart
    #Decode QuartImg
    recRGB_quart, recImg2show_quart = coding.decode(F_info_quart, quantMat,
                                                    orgShape_quart)
    #recImg2show_quart.show()

    #Encode half diff  Image
    hierVar = hr.Hier(quantMat)
    halfdiffF_info, halfdifforgShape, hafldiffrecRGB, halfdiffrecImg2show = hierVar.hierEncode(
        np.array(quartImg), np.array(halfImg))

    #Decode half
    recRGB_halfdiff, recImg2show_halfdiff = coding.decode(
        halfdiffF_info, quantMat, halfdifforgShape)
    fRecoverHalf, fRecoverHalfImg = hierVar.hireDecode(np.array(quartImg),
                                                       recRGB_halfdiff)
    #fRecoverHalfImg.show()
    #fRecover, fRecoverImg = hierVar.hireDecode(fRecoverHalf, diffF_info, difforgShape)

    #Encode whole diff Image
    #imgPIL.show()
    diffF_info, difforgShape, diffrecRGB, diffrecImg2show = hierVar.hierEncode(
        np.array(fRecoverHalfImg), np.array(imgPIL))
    #Decode whole image
    recRGB_diff, recImg2show_diff = coding.decode(diffF_info, quantMat,
                                                  difforgShape)
    fRecover, fRecoverImg = hierVar.hireDecode(np.array(fRecoverHalfImg),
                                               recRGB_diff)
    #fRecoverHalfImg.show()
    #fRecoverImg.show()
    return [
        imgPIL, fRecoverImg, halfdiffrecImg2show, diffrecImg2show,
        fRecoverHalfImg, recImg2show_quart
    ]
    def segmentPartyVoting(self, img_main):
        gray = cv2.cvtColor(img_main, cv2.COLOR_BGR2GRAY)
        gray = cv2.GaussianBlur(gray, (5, 5), 0)

        # ----------------------<Other functions>--------------------------------------
        # gray = cv2.fastNlMeansDenoising(gray,None,18,7,21)
        # thresh, gray = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY_INV)
        # ----------------------</Other functions>-------------------------------------

        gray_erode = cv2.erode(gray.copy(),
                               np.ones((5, 5), np.uint8),
                               iterations=1)
        cannyout = cv2.Canny(gray_erode, 50, 100, 5)

        im2, contours, hierarchy = cv2.findContours(cannyout.copy(),
                                                    cv2.RETR_EXTERNAL,
                                                    cv2.CHAIN_APPROX_SIMPLE)

        # Select the contours with convexity and four points
        contours = [
            contour for contour in contours
            if not cv2.isContourConvex(contour) and len(
                cv2.approxPolyDP(contour, 0.02 *
                                 cv2.arcLength(contour, True), True)) == 4
        ]
        contours = sorted(contours,
                          key=lambda x: (cv2.contourArea(x)),
                          reverse=True)

        transform = ImageTransform.ImageTransform()
        good_lines = transform.get_verticle_line_angles(cannyout)

        if len(good_lines) == 0:
            # Straighten image if tilted
            dest = transform.rotateImage(img_main, contours[0])
            img = dest

        else:
            x, y, w, h = cv2.boundingRect(contours[0])

            # Select the largest rectangle containing signs and voting boxes
            img = img_main[y:y + h, x:x + w]

        img_main = img
        return img_main
Example #10
0
def decode(F_info, quantMat, orgShape): #orgShape, orginal image shape
	'''Dequantization on all F'''
	imgQuant = quant.Quantization()
	imgQuant.initQTMatrix(quantMat)

	FRec_vecY_Quan = imgQuant.dquanitzeVec(F_info[0])
	FRec_vecCr_Quan = imgQuant.dquanitzeVec(F_info[1])
	FRec_vecCb_Quan = imgQuant.dquanitzeVec(F_info[2])

	'''IDCT'''
	dctIm = dct.DCT()
	f_vecY = dctIm.idctVec(FRec_vecY_Quan)
	f_vecCr = dctIm.idctVec(FRec_vecCr_Quan)
	f_vecCb = dctIm.idctVec(FRec_vecCb_Quan)

	recoverImg = imt.ImageTransform()
	recoverImg.initEmptyImage(orgShape) #initialize the same size image

	recoverImg.Y = dct.DCT.dvecMat(orgShape[0:2], f_vecY)
	recoverImg.Cr = dct.DCT.dvecMat(np.array(orgShape[0:2])/2, f_vecCr)
	recoverImg.Cb = dct.DCT.dvecMat(np.array(orgShape[0:2])/2, f_vecCb) 

	recoverImg.chromaExpand()

	#print np.sum(recoverImg.Y - orgImage.Y)
	#print np.sum(recoverImg.yuv[:,:,0] - orgImage.yuv[:,:,0])


	recRGBImg = recoverImg.yuv2rgb()
	recRGBImg = recRGBImg.astype(np.uint8)

	#print (imageRGB)
	imgtoshow = recoverImg.rgb2img(recRGBImg)
	#imgtoshow.show()
	return recRGBImg, imgtoshow
	
Example #11
0
 def __init__(self, QP):
     self.data = []
     self.IC = IntraCoding(QP)
     self.IMT = ImageTransform()
Example #12
0
		return PFrame





if __name__ == '__main__':
	frames = []

	for i in xrange(30,40):
	    tmpFrame = cv2.imread("Frames/singleFrame"+str(i)+".tif")
	   # cv2.imshow('image', tmpFrame)
	    frames.append(tmpFrame)

	IMT = ImageTransform()
	

	'''
	Displaying Sequence: I B B P B B P B B I 
	Coding Sequence I P B B P B B I B B 
	'''
	#for i in range(1): #10 frames handle
		
		#Read Image Frames as double
		#rgbIm1 = IMT.im2double(frames[i])
	IFrame = IMT.im2double(frames[3])
	PFrame = IMT.im2double(frames[4])

	PHand = PFrameHandle(0)
	diffAndMotion = PHand.encode3Channels(IFrame, PFrame)
Example #13
0
        diffRec = self.IMT.dvecMat(np.shape(IFrame), diffDetraned, 4)

        PFrame = estimatedPFrame + diffRec

        return PFrame


if __name__ == '__main__':
    frames = []

    for i in xrange(30, 40):
        tmpFrame = cv2.imread("Frames/singleFrame" + str(i) + ".tif")
        # cv2.imshow('image', tmpFrame)
        frames.append(tmpFrame)

    IMT = ImageTransform()
    '''
	Displaying Sequence: I B B P B B P B B I 
	Coding Sequence I P B B P B B I B B 
	'''
    #for i in range(1): #10 frames handle

    #Read Image Frames as double
    #rgbIm1 = IMT.im2double(frames[i])
    IFrame = IMT.im2double(frames[3])
    PFrame = IMT.im2double(frames[4])

    PHand = PFrameHandle(0)
    diffAndMotion = PHand.encode3Channels(IFrame, PFrame)

    rgbImage = PHand.decode3Channels(IFrame, diffAndMotion)
topframe = Frame(root,relief='ridge',width=100,height=100)
topframe.pack()

bottomframe = Frame(root)
bottomframe.pack(side='bottom')

frame = Frame(root)
frame.pack(side='bottom')
# root.minsize(width=400,height=500)
panelA = None
panelB = None

prg_bar = ttk.Progressbar(bottomframe,orient=HORIZONTAL,length = 200,mode='indeterminate')
prg_bar.grid(row=1,columnspan=2,padx=10,pady=10)

transform = ImageTransform.ImageTransform()
segmentation = ImageSegmentaion.ImageSegmentation()
processing = Processing.Processing(panelA,panelB,topframe,prg_bar)

# Select image for feature matching
def select_image():
    # Declare global variables
    global panelA,panelB,img,im_canny,topframe,path,ballot_path,prg_bar

    # prg_bar.start(50)
    if len(path)>0 and len(ballot_path)>0:
        count = len([file for file in os.listdir(ballot_path) if file.endswith('.jpg')])

        for file in os.listdir(ballot_path):
            if file.endswith('.jpg'):
                loc_path = ballot_path+'/'+file
Example #15
0
import numpy as np
import cv2
from MotionVec import *
from IntegerTransform import *
from ImageTransform import *
from FrameHandleHelpers import *

frames = []

for i in xrange(30,40):
    tmpFrame = cv2.imread("Frames/singleFrame"+str(i)+".tif")
   # cv2.imshow('image', tmpFrame)
    frames.append(tmpFrame)

IMT = ImageTransform()
IT = IntegerTransform()
IT.QuantizationMatrix(0)

'''
Displaying Sequence: I B B P B B P B B I 
Coding Sequence I P B B P B B I B B 
'''
#for i in range(1): #10 frames handle
	
	#Read Image Frames as double
	#rgbIm1 = IMT.im2double(frames[i])
IFrame = IMT.im2double(frames[3])
PFrame = IMT.im2double(frames[4])

PHand = PFrameHandle(100)
diffAndMotion = PHand.encode3Channels(IFrame, PFrame)
Example #16
0
	def __init__(self, QP):
		self.data = []
		self.IMT = ImageTransform()
		self.IT = IntegerTransform()
		self.IT.QuantizationMatrix(QP)
Example #17
0
		diffRec = self.IMT.dvecMat(np.shape(IFrame), diffDetraned, 4)

		PFrame = estimatedBFrame + diffRec


		return PFrame

if __name__ == '__main__':
	frames = []

	for i in xrange(30,40):
	    tmpFrame = cv2.imread("Frames/singleFrame"+str(i)+".tif")
	   # cv2.imshow('image', tmpFrame)
	    frames.append(tmpFrame)

	IMT = ImageTransform()
	

	'''
	Displaying Sequence: I B B P B B P B B I 
	Coding Sequence I P B B P B B I B B 
	'''
	#for i in range(1): #10 frames handle
		
		#Read Image Frames as double
		#rgbIm1 = IMT.im2double(frames[i])
	IFrame = IMT.im2double(frames[5])
	BFrame = IMT.im2double(frames[6])
	PFrame = IMT.im2double(frames[7])

	BHand = BFrameHandle(0)
Example #18
0
	def __init__(self, QP):
		self.data = []	
		self.IC = IntraCoding(QP)
		self.IMT = ImageTransform()
Example #19
0
from IntegerTransform import *
from ImageTransform import *
from FrameHandleHelpers import *
from IFrameHandle import *
from collections import deque
from BFrameHandle import *

#frames = []
QP = 8
cycleCount = 0
displayCount = 0

CONSTANT_VIDEO_PATH = "timedVideo.mp4"
cap = cv2.VideoCapture(CONSTANT_VIDEO_PATH)

IMT = ImageTransform()
IT = IntegerTransform()
IT.QuantizationMatrix(0)

ret, Frame = cap.read()


RefFrameBuffer = deque()
BFrameBuffer = deque()

FrameDecode = []

DisplayFrame = [Frame,Frame,Frame,Frame,Frame,Frame]

PHand = PFrameHandle(QP)
IHand = IFrameHandle(QP)
Example #20
0
 def __init__(self, quantMat):
     self.data = []
     self.IMT = imt.ImageTransform()
     self.quantMat = quantMat
Example #21
0
class BFrameHandle():
	def __init__(self, QP):
		self.data = []
		self.IMT = ImageTransform()
		self.IT = IntegerTransform()
		self.IT.QuantizationMatrix(QP)

	def encode3Channels(self, IFrame, PFrame, BFrame):
		yuvI = self.IMT.rgb2yuv(IFrame)
		yuvP = self.IMT.rgb2yuv(PFrame)
		yuvB = self.IMT.rgb2yuv(BFrame)

		[Y_I, Cr_I, Cb_I] = self.IMT.chromaSub(yuvI)
		[Y_P, Cr_P, Cb_P] = self.IMT.chromaSub(yuvP)
		[Y_B, Cr_B, Cb_B] = self.IMT.chromaSub(yuvB)

		[diffY, motionInfoY] = self.encode(Y_I,Y_P,Y_B)
		[diffCr, motionInfoCr] = self.encode(Cr_I,Cr_P,Cr_B)
		[diffCb, motionInfoCb] = self.encode(Cb_I,Cb_P,Cb_B)

		return [diffY, motionInfoY, diffCr, motionInfoCr, diffCb, motionInfoCb]
	
	def encode(self, IFrame, PFrame, BFrame):
		mvB = MotionVecB(IFrame, PFrame, BFrame) #Initialize A instance
		#[motionVect1, minMad1, motionVect2, minMad2]
		motionInfo = mvB.getTwoMotionVector()

		estimatedBFrame = mvB.recoverPfromI(IFrame, PFrame, motionInfo)
		diffEstMinusReal = BFrame - estimatedBFrame 

		# Integer Transfer		
		diffEstMinusRealVec = self.IMT.vecMat(diffEstMinusReal, 4)
		diffEstMinusRealVecIntTran = self.IT.EnIntegerTransformVec(diffEstMinusRealVec)

		return [diffEstMinusRealVecIntTran, motionInfo]

	def decode3Channels(self, IFrame, PFrame, diffAndmotionVector):
		yuvI = self.IMT.rgb2yuv(IFrame)
		yuvP = self.IMT.rgb2yuv(PFrame)

		[Y_I, Cr_I, Cb_I] = self.IMT.chromaSub(yuvI)
		[Y_P, Cr_P, Cb_P] = self.IMT.chromaSub(yuvP)

		[diffY, motionInfoY, diffCr, motionInfoCr, diffCb, motionInfoCb] = diffAndmotionVector		

		Y_B = self.decode(Y_I, Y_P, diffY, motionInfoY)
		Cr_B = self.decode(Cr_I, Cr_P, diffCr, motionInfoCr)
		Cb_B = self.decode(Cb_I, Cb_P, diffCb, motionInfoCb)

		#Expand all 3 channels
		yuvRec = self.IMT.chromaExpand(Y_B, Cr_B, Cb_B)
		rgbImRec = self.IMT.yuv2rgb(yuvRec)
		rgbIm =  self.IMT.double2uintImage(rgbImRec)

		return rgbIm


	def decode(self, IFrame, PFrame, diff,  motionInfo):
		mvB = MotionVecB(IFrame, PFrame, np.zeros_like(IFrame)) #Here use both I frame to initialize, as no need for Pframe
		estimatedBFrame = mvB.recoverPfromI(IFrame, PFrame, motionInfo)
		
		#DeInteger Transform for diff
		diffDetraned = self.IT.DeIntegerTransformVec(diff)
		diffRec = self.IMT.dvecMat(np.shape(IFrame), diffDetraned, 4)

		PFrame = estimatedBFrame + diffRec


		return PFrame
Example #22
0
import numpy as np
import cv2
from MotionVec import *
from IntegerTransform import *
from ImageTransform import *
from FrameHandleHelpers import *

frames = []

for i in xrange(30, 40):
    tmpFrame = cv2.imread("Frames/singleFrame" + str(i) + ".tif")
    # cv2.imshow('image', tmpFrame)
    frames.append(tmpFrame)

IMT = ImageTransform()
IT = IntegerTransform()
IT.QuantizationMatrix(0)
'''
Displaying Sequence: I B B P B B P B B I 
Coding Sequence I P B B P B B I B B 
'''
#for i in range(1): #10 frames handle

#Read Image Frames as double
#rgbIm1 = IMT.im2double(frames[i])
IFrame = IMT.im2double(frames[3])
PFrame = IMT.im2double(frames[4])

PHand = PFrameHandle(100)
diffAndMotion = PHand.encode3Channels(IFrame, PFrame)
import numpy as np
import cv2
from MotionVec import *
from IntegerTransform import *
from ImageTransform import *
from FrameHandleHelpers import *
from IFrameHandle import *

#frames = []
QP = 0
cycleCount = 0
CONSTANT_VIDEO_PATH = "SampleVideo_360x240_50mb.mp4"
cap = cv2.VideoCapture(CONSTANT_VIDEO_PATH)

IMT = ImageTransform()
IT = IntegerTransform()
IT.QuantizationMatrix(0)

FRameBuffer = []
Frame = []
FrameDecode = []

PHand = PFrameHandle(QP)
IHand = IFrameHandle(QP)
'''
Displaying Sequence: I P P I P P I P P  
Coding Sequence I P B B P B B I B B 
'''

while True:
    if cycleCount % 3 == 0:  #IFrame
import pickle
from PIL import Image
import matplotlib.pyplot as plt
from ImageTransform import *
from Network import *
import torch
import tqdm
from torch import nn
import torchvision
import numpy as np

img_file_path = 'C:\\Users\\Admin\\Desktop\\pytorch_tranferlearning\\Fruits-Classification\\data\\apple\\apple_0.jpg'
svc = pickle.load(open('model_svc', 'rb'))
img = Image.open(img_file_path)
vgg = EncoderVGG()
vgg.fine_tune(False)
plt.imshow(img)
plt.show()

resize = 224
mean = (0.485, 0.456, 0.406)
std = (0.229, 0.224, 0.225)

transform = ImageTransform(resize, mean, std)
img_transformed = transform(img)
img_out = img_transformed.unsqueeze(0)
img_encode = vgg(img_out)
img_encode = torch.detach(img_encode).numpy()

print(svc.predict(img_encode))