資源簡介
在ubuntu12系統下,使用QT作為界面編程的,基v4l2的視頻采集的,并將采集下來的數據用 ffmpej 進行編碼保存成本地avi文件的應用程序。,并將采集下來的數據進行編碼保存成本地avi文件的應用程序。
代碼片段和文件信息
/****************************************************************************
# ? GspcaGui:??Gspca/Spca5xx?Grabber????????????????????????????#
#? Copyright?(C)?2004?2005?2006?Michel?Xhaard??????????????????#
#???????????????????????????????????????????????????????????????????????????#
#?This?program?is?free?software;?you?can?redistribute?it?and/or?modify??????#
#?it?under?the?terms?of?the?GNU?General?Public?License?as?published?by??????#
#?the?Free?Software?Foundation;?either?version?2?of?the?License?or?????????#
#?(at?your?option)?any?later?version.???????????????????????????????????????#
#???????????????????????????????????????????????????????????????????????????#
#?This?program?is?distributed?in?the?hope?that?it?will?be?useful???????????#
#?but?WITHOUT?ANY?WARRANTY;?without?even?the?implied?warranty?of????????????#
#?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.??See?the?????????????#
#?GNU?General?Public?License?for?more?details.??????????????????????????????#
#???????????????????????????????????????????????????????????????????????????#
#?You?should?have?received?a?copy?of?the?GNU?General?Public?License?????????#
#?along?with?this?program;?if?not?write?to?the?Free?Software???????????????#
#?Foundation?Inc.?59?Temple?Place?Suite?330?Boston?MA??02111-1307??USA?#
#???????????????????????????????????????????????????????????????????????????#
****************************************************************************/?
#include?
#include?
#include??
#include?“color.h“
static?int?*LutYr?=?NULL;
static?int?*LutYg?=?NULL;;
static?int?*LutYb?=?NULL;;
static?int?*LutVr?=?NULL;;
static?int?*LutVrY?=?NULL;;
static?int?*LutUb?=?NULL;;
static?int?*LutUbY?=?NULL;;
static?int?*LutRv?=?NULL;
static?int?*LutGu?=?NULL;
static?int?*LutGv?=?NULL;
static?int?*LutBu?=?NULL;
#if?0
#define?RGB24_TO_Y(rgb)?LutYr[(r)]?+?LutYg[(g)]?+?LutYb[(b)]
#define?YR_TO_V(ry)?LutVr[(r)]?+?LutVrY[(y)]
#define?YB_TO_U(by)?LutUb[(b)]?+?LutUbY[(y)]
#define?R_FROMYV(yv)??CLIP((y)?+?LutRv[(v)])
#define?G_FROMYUV(yuv)?CLIP((y)?+?LutGu[(u)]?+?LutGv[(v)])
#define?B_FROMYU(yu)?CLIP((y)?+?LutBu[(u)])
#endif
unsigned?char
RGB24_TO_Y(unsigned?char?r?unsigned?char?g?unsigned?char?b)
{
return?(LutYr[(r)]?+?LutYg[(g)]?+?LutYb[(b)]);
}
unsigned?char
YR_TO_V(unsigned?char?r?unsigned?char?y)
{
return?(LutVr[(r)]?+?LutVrY[(y)]);
}
unsigned?char
YB_TO_U(unsigned?char?b?unsigned?char?y)
{
return?(LutUb[(b)]?+?LutUbY[(y)]);
}
unsigned?char
R_FROMYV(unsigned?char?y?unsigned?char?v)
{
return?CLIP((y)?+?LutRv[(v)]);
}
unsigned?char
G_FROMYUV(unsigned?char?y?unsigned?char?u?unsigned?char?v)
{
return?CLIP((y)?+?LutGu[(u)]?+?LutGv[(v)]);
}
unsigned?char
B_FROMYU(unsigned?char?y?unsigned?char?u)
{
return?CLIP((y)?+?LutBu[(u)]);
}
void?initLut(void)
{
int?i;
#define?Rcoef?299?
#define?Gcoef?587?
#define?Bcoef?114?
#define?Vrcoef?711?//656?//877?
#define?Ubcoef?560?//500?//493?564
#define?CoefRv?1402
#define?CoefGu?714?//?344
#define?Co
- 上一篇:日語羅馬字→假名轉換軟件 V1.00
- 下一篇:qt+opencv的視頻采集 與保存
評論
共有 條評論