More Related Content More from Mohammad Amin Amjadi More from Mohammad Amin Amjadi (15) Lecture22. “
”
Arm Programming & Image Processing
Lecture 2
Mohammad Amin Amjadi
Computer Department
Shahid Bahonar University
Fall 2012
3. روی تصویر پردازشArmاز استفاده باOpenCv:
•ج دستورات که است این ، باشد آمده ذهنمان به شاید که راهکارهایی اولین از یکیقبل لسه
زبان به که راc++داخل را اند بودهKeilبنویسیم:
• #include “LPC23xx.h”
• #include “highghui.h”
• #include “cv.h”
• /* Continue */
Lecture 2 : Page 3
4. از بدینگونه توان نمی چراOpenCvدرKeilنمود؟ استفاده
اول دلیل:
های فایلOpenCvداخلKeilنیستند شده شناخته.
داخل حتی ماVisualStudioنمائیم اضافه را کتابخانه این ابتدا که مجبوریم هم.
Lecture 2 : Page 4
5. از بدینگونه توان نمی چراOpenCvدرKeilنمود؟ استفاده
دوم دلیل:
گرامرKeilباVisualStudioفایلهای همچون هایی فایل از تواند نمی و کند می فرق
libبرای کهVisualStudioنماید پشتیبانی اند شده نوشته.
Lecture 2 : Page 5
6. از بدینگونه توان نمی چراOpenCvدرKeilنمود؟ استفاده
سوم دلیل:
کامپایلرKeilزبان تواند نمیC++، نماید پشتیبانی آنرا های ویژگی و
که است حالی در این وOpenCvزبان بهC++بوده.
Lecture 2 : Page 6
7. از بدینگونه توان نمی چراOpenCvدرKeilنمود؟ استفاده
چهارم دلیل:
ویندوز ها فایل به یکدیگر به وابستگی بر عالوه کتابخانه این های فایل(سیسعامل تم)
اند وابسته.
Lecture 2 : Page 7
8. از بدینگونه توان نمی چراOpenCvدرKeilنمود؟ استفاده
پنجم دلیل:
سایر همراه به کتابخانه این های فایلهای فایلهس باالیی حجم دارای نیازش موردتند.
کامپایلر درKeilرا فایل یک اگرIncludeن در ننمائیم ای استفاده هیچ آن از و نمائیمظر
د آنرا محتویات تمام شود آن از ای استفاده کوچکترین اگر لی و شود نمی گرفتهفایل ر
دهد می قرار خروجی!!!
Lecture 2 : Page 8
10. یادگیری با تصویر پردازش مسئله حلtft Lcd:
است عکس نمایش به مربوط آن توابع ترین مهم از یکی:
void tftlcd_write_pic(int x0,int y0,const unsigned short *pointer)
عکس خود ّاما و:فایل یک.hبوده:
const unsigned short image0[] = {
240,320,
0x768A,0x764A,0x6E28,0x5548,0x45AA,0x5D88,0x5DA7,0x65A9,
0x65AA,0x6E27,
//Continue ....
}
Lecture 2 : Page 10
11. یادگیری با تصویر پردازش مسئله حلtft Lcd:
وّامایکعکسچگونهبهفایل.hتبدیلشدهاست:
کافیاستکهیکآرایهازنوعconst unsigned shortایجادنمودهوسپسطولو
عرضعکسرادرآنقراردهیم،وپعدازآنعکسموردنظرراکهاندازهآنمناسب
صفحهنمایشمانبودهراپیمایشنمودهوهرپیکسلرابهکدHexتبدیلنمودهودر
آرایهقراردهیم.
برنامهArGroupسورس کهC#
شد داده تحویلتان پیش جلسه آن
فایل به عکس تبدیل تواناییHexدارد را بلعکس و.
Lecture 2 : Page 11
12. یادگیری با تصویر پردازش مسئله حلtft Lcd:
نحوهتبدیلرنگیکپیکسلبهفایلHex:24بیتی:هررنگ8بیت:
کافیاستکهRوGوBیکپیکسلراپشتسرهمبذاریم
مثالً:Color(R=41,G=100,B=9):
R/8b
G/8b
B/8b
Color
/24b
41 => 0x29
100 => 0x64
9 => 0x09
0x296409
Lecture 2 : Page 12
13. یادگیری با تصویر پردازش مسئله حلtft Lcd:
نحوهتبدیلرنگیکپیکسلبهفایلHex:16بیتی
کافیاستکهRوGوBیکپیکسلراپشتسرهمبذاریم
مثالً:Color(R=41,G=100,B=9):
41 => 00101001 b
100 => 01100100 b
9 => 00001001 b
0010101100100001b
0x2B21
Lecture 2 : Page 13
R/5b
G/6b
B/5b
Color
/16b
14. یادگیری با تصویر پردازش مسئله حلtft Lcd:
رنگهادرtft Lcd:
Lecture 2 : Page 14
tftlcd_functions.h
#define RED 0x001F
#define GREEN 0x07E0
#define BLUE 0xF800
0000000000011111
0000011111100000
1111100000000000
Mode BGR
15. یادگیری با تصویر پردازش مسئله حلtft Lcd:
تبدیلعکسبهفایلHexوبلکعسبابرنامهArGroup:
Lecture 2 : Page 15
16. یادگیری با تصویر پردازش مسئله حلtft Lcd:
تنظیماتتبدیلعکسبهفایلHexوبلکعسبرنامهArGroup:
Lecture 2 : Page 16
18. کد تبدیل متدHexرنگ به:
public static Color ArCvShortToColor(int color, ArCvColorMode Mode)
{
int R, G, B;
switch (Mode)
{ //…
case ArCvColorMode.Rbg:
R = (color & 63488) / 256;
B = (color & 2016) / 8;
G = (color & 31) * 8;
break; /* Continue */
Lecture 2 : Page 18
19. روی تصویر پردازش مبنایArm:
برایپردازشتصویررویArmکافیاستکهیکعکسرابهکدHexتبدیلورویArm
ذخیرهنمودهوسپسباپیمایشنمودنوبدستآوردنRوGوBهرپیکسلآنراپردازش
نموده.
ّاماچگونهرنگو...راتعریفنمائیموکدهایمانرادرKeilبنویسیم؟
Lecture 2 : Page 19
20. روی تصویر پردازش برای نویسی برنامهArm:
برایتعریفنمودنرنگبایدیکساختارتعریفنمائیم:
struct ArCv_Color
{
int Red;
int Green;
int Blue;
};
Keil
typedef struct
{
int Red;
int Green;
int Blue;
}
ArCv_Color;
Lecture 2 : Page 20
21. روی تصویر پردازش برای نویسی برنامهArm:
متدایجادیکرنگبراساسمشخصههایRوGوB:
ArCv_Color New_ArCv_Color(int R , int G , int B)
{
ArCv_Color Color;
if(R<0) R=0;
if(G<0) G=0;
if(B<0) B=0;
if(R>255) R=255;
if(G>255) G=255;
if(B>255) B=255;
Color.Red=R;
Color.Green=G;
Color.Blue=B;
return Color;
};
Lecture 2 : Page 21
22. روی تصویر پردازش برای نویسی برنامهArm:
متدتبدیلیکرنگبهکدHex:
#define ArCv_Error -1
int ArCv_Convert_ColorToRgbCode(ArCv_Color* Color)
{
if(Color)
{
int Rgb = Color->Blue / 8;
Rgb *= 64;
Rgb |= Color->Green / 4;
Rgb *= 32;
Rgb |= Color->Red / 8;
return Rgb;
}
return ArCv_Error;
}
Lecture 2 : Page 22
23. روی تصویر پردازش برای نویسی برنامهArm:
متدتبدیلکدرنگبهرنگ:
ArCv_Color ArCv_Convert_ShortToColor(int Rgb)
{
return New_ArCv_Color((Rgb & 31) * 8,(Rgb & 2016) / 8,(Rgb & 63488) / 256);
//return New_ArCv_Color((Rgb & 0x1F) * 8,(Rgb & 0x7E0) / 8,(Rgb & 0xF800) / 256);
}
Lecture 2 : Page 23
24. روی تصویر پردازش برای نویسی برنامهArm:
تعریفساختاریبرایطیفرنگ:
typedef struct
{
ArCv_Color Start;
ArCv_Color End;
}
ArCv_ColorRange;
Lecture 2 : Page 24
25. روی تصویر پردازش برای نویسی برنامهArm:
تعریفمتدیبرایایجادنمودنیکطیفرنگ:
ArCv_ColorRange New_ArCv_ColorRange(int R1,int G1,int B1,
int R2,int G2,int B2)
{
ArCv_ColorRange Range;
Range.Start.Red=R1;
Range.Start.Green=G1;
Range.Start.Blue=B1;
Range.End.Red=R2;
Range.End.Green=G2;
Range.End.Blue=B2;
return Range;
}
Lecture 2 : Page 25
26. روی تصویر پردازش برای نویسی برنامهArm:
تعریفساختاریبرایعکس:
typedef struct
{
const unsigned short *imageData;
}
ArCv_Image;
Lecture 2 : Page 26
27. روی تصویر پردازش برای نویسی برنامهArm:
تعریفمتدیبرایایجادعکس:
ArCv_Image New_ArCv_Image(const unsigned short * Img)
{
ArCv_Image Image;
Image.imageData=Img;
return Image;
}
Lecture 2 : Page 27
28. روی تصویر پردازش برای نویسی برنامهArm:
متدخواندنطولعکس:
int ArCv_Image_Width(ArCv_Image Image)
{
if(&Image)
{
return Image.imageData[0];
}
return ArCv_Error;
}
Lecture 2 : Page 28
29. روی تصویر پردازش برای نویسی برنامهArm:
متدخواندنعرضعکس:
int ArCv_Image_Height(ArCv_Image Image)
{
if(&Image)
{
return Image.imageData[1];
}
return ArCv_Error;
}
Lecture 2 : Page 29
30. روی تصویر پردازش برای نویسی برنامهArm:
متدخواندنکدرنگیکپیکسلازعکس:
int ArCv_Image_GetRgbCode(ArCv_Image Image , int x , int y)
{
return Image.imageData[(y*Image.imageData[1])+x+2];
}
Lecture 2 : Page 30
31. روی تصویر پردازش برای نویسی برنامهArm:
متدخواندنرنگیکپیکسلازعکس:
ArCv_Color ArCv_Image_GetColor(ArCv_Image Image , int x , int y)
{
if(&Image)
{
return ArCv_Convert_ShortToColor(Image.imageData[(y*Image.imageData[0])+x+2]);
}
else
{
return ArCv_Null_Color;
}
}
Lecture 2 : Page 31
33. روی تصویر پردازشArm:فیلتر:سفید و سیاه:یک
void ArCv_Filter_BW_R(ArCv_Image Image)
{
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c=New_ArCv_Color(Color.Red,Color.Red,Color.Red);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 33
35. روی تصویر پردازشArm:فیلتر:سفید و سیاه:دو
void ArCv_Filter_BW_G(ArCv_Image Image)
{
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c=New_ArCv_Color(Color.Green,Color.Green,Color.Green);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 35
37. روی تصویر پردازشArm:فیلتر:سفید و سیاه:سه
void ArCv_Filter_BW_B(ArCv_Image Image)
{
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c=New_ArCv_Color(Color.Blue,Color.Blue,Color.Blue);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 37
40. روی تصویر پردازشArm:فیلتر:نمودن مکمل
void ArCv_Filter_Inverse(ArCv_Image Image)
{
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c=New_ArCv_Color(255-Color.Red,255-Color.Green,255-Color.Blue);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 40
42. روی تصویر پردازشArm:فیلتر:رنگی های مشخه تغییر
void ArCv_Filter_ChangeTo_GBR(ArCv_Image Image)
{
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c=New_ArCv_Color(Color.Green,Color.Blue,Color.Red);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 42
44. روی تصویر پردازشArm:فیلتر:نور شدت تغییر:یک
void ArCv_Filter_Contrast(ArCv_Image Image,int Co)
{
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c=New_ArCv_Color(Color.Red+Co,Color.Green+Co,Color.Blue+Co);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 44
45. روی تصویر پردازشArm:فیلتر:نور شدت تغییر:دو
void ArCv_Filter_Contrast_RGB(ArCv_Image Image,int CoR,int CoG,int CoB)
{
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c=New_ArCv_Color(Color.Red+CoR,Color.Green+CoG,Color.Blue+CoB);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 45
46. روی تصویر پردازشArm:فیلتر:نور شدت تغییر:سه
void ArCv_Filter_Contrast_Range(ArCv_Image Image,int Low,int High,int CoR,int CoG,int CoB)
{
ArCv_Color Color,c;
int i,j;
int v;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
v=(Color.Red+Color.Green+Color.Blue)/3;
if( v >= Low && v<=High)
{
c=New_ArCv_Color(Color.Red+CoR,Color.Green+CoG,Color.Blue+CoB);
}
Lecture 2 : Page 46
47. روی تصویر پردازشArm:فیلتر:نور شدت تغییر:سه
else
{
c=New_ArCv_Color(Color.Red,Color.Green,Color.Blue);
}
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 47
48. روی تصویر پردازشArm:فیلتر:نور شدت تغییر:چهار
void ArCv_Filter_Contrast_Range_RGB(ArCv_Image Image,int Low,int High,int Co)
{
ArCv_Color Color,c;
int i,j;
int v;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
v=(Color.Red+Color.Green+Color.Blue)/3;
if( v >= Low && v<=High)
{
c=New_ArCv_Color(Color.Red+Co,Color.Green+Co,Color.Blue+Co);
}
Lecture 2 : Page 48
49. روی تصویر پردازشArm:فیلتر:نور شدت تغییر:چهار
else
{
c=New_ArCv_Color(Color.Red,Color.Green,Color.Blue);
}
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 49
51. روی تصویر پردازشArm:فیلتر:ای قهوه و قرمز
void ArCv_Filter_ColorTone_Sepia(ArCv_Image Image)
{
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c=New_ArCv_Color(((Color.Red + Color.Green + Color.Blue) / 3) +40 ,
((Color.Red + Color.Green + Color.Blue) / 3) -10 ,
((Color.Red + Color.Green + Color.Blue) / 3) -70);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 51
53. روی تصویر پردازشArm:فیلتر:16نمودن رنگی
void ArCv_Filter_ColorTone_16Color(ArCv_Image Image)
{
ArCv_Color Color,c;
int i,j,r,g,b;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
r=Color.Red;
g=Color.Green;
b=Color.Blue;
Lecture 2 : Page 53
54. روی تصویر پردازشArm:فیلتر:16نمودن رنگی
if (r > 0 && r < 128) r = 0;
else if (r > 128 && r < 192) r = 128;
else if (r > 192 && r < 255) r = 192;
if (g > 0 && g < 128) g = 0;
else if (g > 128 && g < 192) g = 128;
else if (g > 192 && g < 255) g = 192;
if (b > 0 && b < 128) b = 0;
else if (b > 128 && b < 192) b = 128;
else if (b > 192 && b < 255) b = 192;
c=New_ArCv_Color(r,g,b);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 54
56. روی تصویر پردازشArm:فیلتر:تصویر نمودن تار
void ArCv_Filter_Blur(ArCv_Image Image,int VcI,int VcJ)
{
ArCv_Color Color,c,c1;
int i,j;
for(i=VcI;i<ArCv_Image_Width(Image);i++)
{
for(j=VcJ;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
c1 = ArCv_Image_GetColor(Image,i-VcI,j-VcJ);
c=New_ArCv_Color((Color.Red+c1.Red)/2,(Color.Green+c1.Green)/2,(Color.Blue+c1.Blue)/2);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
}
}
}
Lecture 2 : Page 56
57. روی تصویر پردازشArm:کشف:رنگ تشخیص:یک
#define IsFound 1
#define NotFound 0
int ArCv_Detection_ColorDetection(ArCv_Image Image,ArCv_Color StartRange,ArCv_Color EndRange,int x,int y)
{
ArCv_Color Color = ArCv_Image_GetColor(Image,x,y);
if(Color.Red >= StartRange.Red && Color.Red <= EndRange.Red
&& Color.Green >= StartRange.Green && Color.Green <= EndRange.Green
&& Color.Blue >= StartRange.Blue && Color.Blue <= EndRange.Blue)
{
return IsFound;
}
return NotFound;
}
Lecture 2 : Page 57
58. روی تصویر پردازشArm:کشف:رنگ تشخیص:دو
int ArCv_Detection_RangeColorDetection(ArCv_Image Image,ArCv_ColorRange Range,int x,int y)
{
ArCv_Color Color = ArCv_Image_GetColor(Image,x,y);
if(Color.Red >= Range.Start.Red && Color.Red <= Range.End.Red
&& Color.Green >= Range.Start.Green && Color.Green <= Range.End.Green
&& Color.Blue >= Range.Start.Blue && Color.Blue <= Range.End.Blue)
{
return IsFound;
}
return NotFound;
}
Lecture 2 : Page 58
59. روی تصویر پردازشArm:کشف:رنگ تشخیص:سه
int ArCv_Detection_FindRangeColorDetection(ArCv_Image Image,ArCv_ColorRange Range)
{
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
if(ArCv_Detection_RangeColorDetection(Image,Range,i,j)==IsFound)
{
return IsFound;
}
}
}
return NotFound;
}
Lecture 2 : Page 59
60. روی تصویر پردازشArm:کشف:رنگ تشخیص:چهار
int ArCv_Detection_AllFindRangeColorDetection(ArCv_Image Image,ArCv_ColorRange Range,ArCv_Color NewColor)
{
int flag=NotFound;
ArCv_Color Color;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
if(Color.Red >= Range.Start.Red && Color.Red <= Range.End.Red
&& Color.Green >= Range.Start.Green && Color.Green <= Range.End.Green
&& Color.Blue >= Range.Start.Blue && Color.Blue <= Range.End.Blue)
{
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&NewColor));
flag=IsFound;
}
}
}
return flag;
}
Lecture 2 : Page 60
61. روی تصویر پردازشArm:کشف:رنگ تشخیص:پنج
int ArCv_Detection_AllFindRangeColorDetection_Inverse(ArCv_Image Image,ArCv_ColorRange Range)
{
int flag=NotFound;
ArCv_Color Color,c;
int i,j;
for(i=0;i<ArCv_Image_Width(Image);i++)
{
for(j=0;j<ArCv_Image_Height(Image);j++)
{
Color = ArCv_Image_GetColor(Image,i,j);
if(Color.Red >= Range.Start.Red && Color.Red <= Range.End.Red
&& Color.Green >= Range.Start.Green && Color.Green <= Range.End.Green
&& Color.Blue >= Range.Start.Blue && Color.Blue <= Range.End.Blue)
Lecture 2 : Page 61
62. روی تصویر پردازشArm:کشف:رنگ تشخیص:پنج
{
c=New_ArCv_Color(255-Color.Red,255-Color.Green,255-Color.Blue);
tftlcd_write_pixel(i,j,ArCv_Convert_ColorToRgbCode(&c));
flag=IsFound;
}
}
}
return flag;
}
Lecture 2 : Page 62
64. روی تصویر پردازشArm:کشف:یابی لبه
void ArCv_Detection_Edge(ArCv_Image Image,int Vc)
{
int i,j;
ArCv_Color c,c1;
tftlcd_fill(0x0);
for(i=0;i<ArCv_Image_Height(Image)-1;i++)
{
for(j=0;j<ArCv_Image_Width(Image)-1;j++)
{
c=ArCv_Image_GetColor(Image,i,j);
c1=ArCv_Image_GetColor(Image,i,j+1);
if(c.Red>c1.Red+Vc || c1.Red>c.Red+Vc ||
c.Green>c1.Green+Vc || c1.Green>c.Green+Vc ||
c.Blue>c1.Blue+Vc || c1.Blue>c.Blue+Vc )
Lecture 2 : Page 64
65. روی تصویر پردازشArm:کشف:یابی لبه
{
tftlcd_write_pixel(i,j,0xFFFF);
continue;
}
c1=ArCv_Image_GetColor(Image,i+1,j);
if(c.Red>c1.Red+Vc || c1.Red>c.Red+Vc ||
c.Green>c1.Green+Vc || c1.Green>c.Green+Vc ||
c.Blue>c1.Blue+Vc || c1.Blue>c.Blue+Vc )
{
tftlcd_write_pixel(i,j,0xFFFF);
}
}
}
}
Lecture 2 : Page 65
66. آینده جلسه تا:
روی تصویر پردازش کدهای با کردن کارArmآنها وتصحیح
با کردن کارtftLcd
آن کدهای بهبود و تصویر پردازش سرعت باالبردن چگونگی مورد در تحقیق
Lecture 2 : Page 66
67. آینده جلسات در:
تصویر پردازش سرعت افزایش چگونگی
و دوربین همانند جنبی دستگاه یک از که اطالعاتی و عکس پردازش چگونگیFingerPrint
آید می بدست
روی عامل سیستم نصبArm
نویسی ماژوالر و نویسی هدر
پالس پالس سی و شارپ سی در سریال پورت با کردن کار
طریق از کامپیوتر و میکروکنترلر ارتباطuart
Lecture 2 : Page 67