CIF下變換為QCIF

2021-10-04 05:21:00 字數 2125 閱讀 4828

#include

using

namespace std;

intmain

(int argc,

char

* ar**)

elseif(

fopen_s

(&qcifptr, qcifname,

"wb")==

0)else

// 計算原rgb影象總位元組數和總幀數

fseek

(cifptr,0l,

seek_end);

cifsize =

ftell

(cifptr)

;rewind

(cifptr)

; cout <<

"the space that "

<< cifname <<

" accounts for is "

<< cifsize <<

" bytes = "

<<

(double

)cifsize /

1024

/1024

<<

" mb."

<< endl;

qcifsize = cifsize /2;

framenum = cifsize / cifframesize;

cout <<

"there are "

<< framenum <<

" frames in this video clip."

<< endl;

// 按幀建立緩衝區

cifybuf =

newunsigned

char

[cifframesize *2/

3]; cifubuf =

newunsigned

char

[cifframesize /6]

; cifvbuf =

newunsigned

char

[cifframesize /6]

; qcifybuf =

newunsigned

char

[qcifframesize *2/

3]; qcifubuf =

newunsigned

char

[qcifframesize /6]

; qcifvbuf =

newunsigned

char

[qcifframesize /6]

;// 逐幀處理

for(

int i =

0; i < framenum; i++

)// 控制幀數

}// u、v分量下變換

for(

int j =

0; j < cifh /

2; j +=2

)}fwrite

(qcifybuf,

sizeof

(unsigned

char

), qcifframesize *2/

3, qcifptr)

;// 寫入第i幀的y分量

fwrite

(qcifubuf,

sizeof

(unsigned

char

), qcifframesize /

6, qcifptr)

;// 寫入第i幀的y分量

fwrite

(qcifvbuf,

sizeof

(unsigned

char

), qcifframesize /

6, qcifptr)

;// 寫入第i幀的y分量

}delete

cifybuf;

delete

cifubuf;

delete

cifvbuf;

delete

qcifybuf;

delete

qcifubuf;

delete

qcifvbuf;

fclose

(cifptr)

;fclose

(qcifptr)

;}

ububtu下caffe訓練並驗證cifar10

在跑完mnist資料集後,想跑一下cifar10,發現網上介紹的資料不多,有些步驟有點麻煩,因此就參考訓練mnist資料集的方法對cifar10資料進行訓練,最後得到了訓練結果。sudo sh data cifar10 get cifar10.sh可以看到在cifar10資料夾下多了一些檔案。二 轉...

matlab練習程式(矩形變換為圓)

最近對影象座標的變換很感興趣啊,這次是將一張影象變換為圓形。變換原理就是按變換前後畫素到圓心的距離按比例縮減就行了。改變x,y方向上的係數,應該還可以變換為橢圓,不過我還沒有嘗試。注意我這裡相當於縮小影象了,所以用的是正向插值,如果想生成乙個大圓,還是需要逆向插值的。原圖如下 處理後效果 matla...

抽象下的變換

三年前的高二和去年的大一我都想過乙個問題,平面曲線xy k和a x 2 b y 2 h可能 重合 嗎?去年剛剛學習解析幾何,我的理解是通過變換x x y,y x y,變換矩陣t 1,1 1,1 如下 這兩支曲線的轉變與所作的變換方程有關,而且是確定的。但就是如此簡單的問題,我高中時可想了很久的,那時...