Академический Документы
Профессиональный Документы
Культура Документы
Lm quen cc thao tc c bn v x l
nh s v video s
bng ngn ng C++/C#
Ni dung
[C#] ............................................................................................................................................1
nh .............................................................................................................................................1
Load nh v hin th ................................................................................................................1
Truy xut n cc im nh .....................................................................................................1
Gii phng d liu nh khi khng s dng na ........................................................................3
Lu nh ...................................................................................................................................3
Video ..........................................................................................................................................3
Cng c lp trnh .....................................................................................................................3
Khi to ..................................................................................................................................3
Thit lp thng tin ...................................................................................................................3
Trch frame .............................................................................................................................3
Ghi file video ..........................................................................................................................4
[C++ & OpenCV] .......................................................................................................................5
Phin bn ....................................................................................................................................5
Cu hnh .....................................................................................................................................5
Chng trnh minh ha............................................................................................................5
nh .............................................................................................................................................5
To nh mi ............................................................................................................................5
Load nh .................................................................................................................................6
To ca s hin th nh ............................................................................................................6
Gii phng vng nh ...............................................................................................................6
Truy xut n cc pixel ca nh...............................................................................................6
Cch 1: ................................................................................................................................6
BI TP THC HNH
X L NH S V VIDEO S
Cch 2: ................................................................................................................................7
Lu nh ...................................................................................................................................7
Video ..........................................................................................................................................8
Load d liu video t file hoc t webcam ..............................................................................8
Trch tng khung hnh (frame) v hin th ln mn hnh ..........................................................8
Gii phng vng nh ...............................................................................................................8
Ghi ni dung file video xung file ...........................................................................................8
Cch t chc chng trnh ..........................................................................................................9
Bi tp tho lun trn din n .................................................................................................. 11
Bi tp lp trnh......................................................................................................................... 11
Ti liu tham kho..................................................................................................................... 12
ddkhoa@fit.hcmus.edu.vn
X L NH S V VIDEO S
BI TP THC HNH
[C#]
nh
Tool: C#
Load nh v hin th
Gi s c mt PictureBox t tn pb_img.
Bitmap bm = new Bitmap([ng dn]);
pb_img.Image = bm;
Truy xut n cc im nh
Color c = bm.GetPixel(10, 10);
Khi chy chng trnh s pht hin mt vn l chng trnh chy kh chm. l do ta lin
tc gi cc phng thc GetPixel v SetPixel truy xut n cc im nh. tng tc x
l, ta dng phng thc Lockbit lu tm d liu nh vo b nh v truy truy xut trc tip
n vng nh ny. Xem thm trong [1].
using System.Drawing.Imaging;
ddkhoa@fit.hcmus.edu.vn
BI TP THC HNH
X L NH S V VIDEO S
V d:
BitmapData bmd = bm.LockBits(new Rectangle(0, 0, bm.Width, bm.Height),
System.Drawing.Imaging.ImageLockMode.ReadWrite, bm.PixelFormat);
int iPixelSize=3;
switch (bm.PixelFormat)
{
case PixelFormat.Format32bppArgb: iPixelSize = 4; break;
case PixelFormat.Format24bppRgb: iPixelSize = 3; break;
case PixelFormat.Format8bppIndexed: iPixelSize = 1; break;
ddkhoa@fit.hcmus.edu.vn
X L NH S V VIDEO S
BI TP THC HNH
}
Lu nh
S dng phng thc bm.Save([ng
dn]);
lu nh.
Video
Cng c lp trnh
Emgu 2.2. Xem hng dn v ci t v cu hnh trong file hng dn trn din n.
Khi to
Thm vo cc th vin cn thit
using
using
using
using
using
Emgu.CV;
Emgu.Util;
Emgu.CV.UI;
Emgu.CV.CvEnum;
Emgu.CV.Structure;
GetCaptureProperty
Trch frame
Cch 1:
CvInvoke.cvNamedWindow("1");
for (int i = 0; i < numFrame; i += 10)
ddkhoa@fit.hcmus.edu.vn
BI TP THC HNH
X L NH S V VIDEO S
{
//Di chuyn ti frame th i
c.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_POS_FRAMES, i);
img = c.QueryFrame();
//Show the image
CvInvoke.cvShowImage("1", img.Ptr);
//Wait for the key pressing event
CvInvoke.cvWaitKey(40);
}
c.Dispose();
CvInvoke.cvDestroyWindow("1");
ddkhoa@fit.hcmus.edu.vn
X L NH S V VIDEO S
BI TP THC HNH
Cu hnh
Xem trong file hng dn cu hnh trn din n.
nh
To nh mi
//To nh c kch thc nh nh,
//mi pixel biu din bng 1 byte c gi tr unsigned int
//ch c 1 knh mu
IplImage* img1=cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,1);
//To nh c 3 knh (thnh phn) mu: Blue-Green-Red
//Gi tr ca mi thnh phn mu ti mi pixel l s thc
IplImage* img2=cvCreateImage(cvSize(640,480),IPL_DEPTH_32F,3);
//Sao chp nh ban u sang nh mi
IplImage* img3;
img3=cvCloneImage(img1);
P0
P1
P2
...
nh grayscale
padding
B0
B2
G0
G2
R0
R2
B1
...
G1
R1
nh mu c s dng
ddkhoa@fit.hcmus.edu.vn
X L NH S V VIDEO S
BI TP THC HNH
Load nh
IplImage *img = cvLoadImage([ng dn n file nh]);
To ca s hin th nh
cvNamedWindow("MyImageWindow",1);
cvShowImage("MyImageWindow",img);
ddkhoa@fit.hcmus.edu.vn
BI TP THC HNH
X L NH S V VIDEO S
Cch 2:
Phc tp hn, nhng nhanh hn.
//i vi nh n sc (ch c 1 knh mu)
//v gi tr mu ca mi pixel l s nguyn: img=cvCreateImage(...,IPL_DEPTH_8U,1)
int height
= img->height;
int width
= img->width;
//Tnh s pixel trn mi dng,
//bi v mt s nh s dng padding mode nn step c th khc width
int step
= img->widthStep/sizeof(uchar);
//Ly a ch ca vng nh cha d liu nh
uchar* data
= (uchar *)img->imageData;
//Thay i gi tr im nh ti ta (i,j)
data[i*step+j] = 111;
//i vi nh mu (c 3 knh mu)
//v gi tr mu ca mi knh ti mi im nh l s nguyn:
//img = cvCreateImage(cvSize(...),IPL_DEPTH_8U,3)
int height
= img->height;
int width
= img->width;
//Tnh s pixel trn mi dng,
//bi v mt s nh s dng padding mode nn step c th khc width
int step
= img->widthStep/sizeof(uchar);
//S lng knh (thnh phn) mu
int channels
= img->nChannels;
uchar* data
= (uchar *)img->imageData;
//Thay i gi tr thnh phn mu th k (k=0 l blue, k=1 l green, k=2 l red)
// ca im nh ti ton (i,j)
data[i*step+j*channels+k] = 111;
//i vi nh mu (c 3 knh mu)
//v gi tr mu ca mi knh ti mi im nh l s thc
//img=cvCreateImage(...,IPL_DEPTH_32F,3)
int height
= img->height;
int width
= img->width;
//Tnh s pixel trn mi dng,
//bi v mt s nh s dng padding mode nn step c th khc width
int step
= img->widthStep/sizeof(float);
int channels
= img->nChannels;
//Ch , con tr s thc
float * data
= (float *)img->imageData;
data[i*step+j*channels+k] = 111;
Ngoi ra cn c cch truy xut khc hiu qu hn, sinh vin t tham kho trong ti liu ...
Lu nh
cvSaveImage(C:\\Test.jpg,pImg);
ddkhoa@fit.hcmus.edu.vn
X L NH S V VIDEO S
BI TP THC HNH
Video
Load d liu video t file hoc t webcam
CvCapture *cap = cvCaptureFromCAM(0); //t webcam
CvCapture *cap = cvCaptureFromAVI([ng dn n file video]);
cn x l ra
*input = cvCaptureFromAVI("E:\\Entertainment\\Clips\\test.avi");
1 bin ly thng tin v kch thc ca mi frame
image = cvRetrieveFrame(input);
if (!image) {
ddkhoa@fit.hcmus.edu.vn
BI TP THC HNH
X L NH S V VIDEO S
ddkhoa@fit.hcmus.edu.vn
BI TP THC HNH
X L NH S V VIDEO S
}
//Cc hm dng khc
//Cc phng thc truy cp n cc thuc tnh
public Bitmap MyBitmap
{
get { return myBitmap; }
set
{
if (value != null)
myBitmap = value;
}
}
//Cc hm x l nh
public int LoadBitmap(string strFileName)
{
if (strFileName.CompareTo("") != 0)
{
myBitmap = new Bitmap(strFileName);
return 1;
}
return 0;
}
//V cc hm bin i nh khc (nu c)
~ImageShowing()
{//T gii phng vng nh khi ko xi na
if (myBitmap != null)
myBitmap.Dispose();
}
}
public partial class Image_Processing : Form
{
ImageShowing imShow;
public Image_Processing()
{
InitializeComponent();
imShow = new ImageShowing();
}
private void bt_LoadImg_Click(object sender, EventArgs e)
{
openFileDialog1.InitialDirectory = "..";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if (imShow.LoadBitmap(openFileDialog1.FileName) != 0)
MessageBox.Show("ng dn sai");
}
}
...
}
10
ddkhoa@fit.hcmus.edu.vn
BI TP THC HNH
X L NH S V VIDEO S
Bi tp lp trnh
Sinh vin c php s dng cc hm chuyn i c sn.
1. Vit chng trnh hin th nh c kch thc bt k. Thay i kch thc nh sao cho hin th
va trong vng c kch thc 200x200.
2. Vit chng trnh ti ln 1 file avi mu, chuyn frame thnh nh xm v hin th ra mn hnh.
Cc file avi c th download ti a ch http://www.jhepple.com/support/sample_movies1.htm
11
ddkhoa@fit.hcmus.edu.vn
BI TP THC HNH
X L NH S V VIDEO S
12
ddkhoa@fit.hcmus.edu.vn