MTK图形图象函数

合集下载

mtk imgsensor_info 参数

mtk imgsensor_info 参数

mtk imgsensor_info 参数mtk imgsensor_info 参数是用于获取图像传感器信息的函数,它是在Android系统中用于获取传感器数据的一种常见方法。

该参数提供了有关图像传感器状态和性能的详细信息,包括传感器类型、分辨率、曝光时间、光源等信息。

这些信息对于开发者和应用程序开发人员来说非常重要,因为它们可以用于优化图像质量和提高用户体验。

一、函数原型```cint imgsensor_info(struct imgsensor* sensor, u16*sensor_id);```其中,`sensor` 是一个指向 `imgsensor` 结构的指针,该结构包含了传感器相关的信息;`sensor_id` 是一个指向无符号16位整数的指针,用于存储传感器ID。

二、参数说明1. `sensor`:指向 `imgsensor` 结构的指针,用于存储传感器相关的信息。

该结构包含了传感器类型、分辨率、曝光时间、光源等信息。

2. `sensor_id`:指向无符号16位整数的指针,用于存储传感器ID。

通过该参数可以识别不同的传感器型号和版本。

三、函数返回值函数返回一个整数值,表示函数执行的结果。

如果函数执行成功,则返回值为0;否则返回一个非零值,表示发生了错误。

四、参数详解1. `sensor->version`:传感器版本号,表示传感器的型号和版本信息。

2. `sensor->vendor_id`:传感器厂商ID,表示传感器的制造商信息。

3. `sensor->sensor_type`:传感器类型,表示图像传感器的类型,如CMOS、CCD等。

5. `sensor->format`:传感器图像格式,表示图像的像素格式,如RGB、YUV等。

6. `sensor->exposure_time`:曝光时间,表示传感器曝光的时间长度。

7. `sensor->awb_mode`:白平衡模式,表示图像的白平衡模式。

MTK 发送彩信函数

MTK 发送彩信函数
message_send_p->bReadReport = (g_jmms_context->sending_settings.read_report == 1) ? E_TRUE : E_FALSE;
message_send_p->bHideSender = (g_jmms_context->sending_settings.hide_sender == 1) ? E_TRUE : E_FALSE;
if (wap_get_user_agent_brand() == EM_WAP_USERAGENT_BRAND_SE)
message_send_p->uiDate = get_current_utc_time();
message_send_p->bDeliveryReport = (g_jmms_context->sending_settings.delivery_report == 1) ? E_TRUE : E_FALSE;
}
message_send_p->pTo = (JC_CHAR*) g_jmms_context->to_p;
U8 ret = 0;
S32 len = 0;
MSG_HANDLE msg_handle = jmms_context_p->msg_handle;
/* free any allocated memory */
mmi_jmms_free_mms_pdu_memory(g_jmms_context);
if (message_send_p->pReplyChargingInfo == NULL){
mmi_jmms_free_mms_pdu_memory(g_jmms_context);

mtk中的一些函数作用

mtk中的一些函数作用

1. HandleIdleScreenDigitEntry()
判断是否处飞行静音模式
2. IdleScreenDigitHandler()
ShowCategory16Screen()建立拨号输入框,并且注册每个按键的响应
执行数字键‘1’的响应:MMI_key_1_down()
g_ucm_p->call_misc.curr_action = MMI_UCM_DIAL;
装载g_ucm_p->call_list.group_info[freeTab]信息(group_id, call_type, call_state)
装载g_ucm_p->call_list.group_info[freeTab].call_info[0]信息
装载消息结构,发送消息:PRT_USSDVSS_REQ(到L4层分析号码)
L4层分析号码后,返回消息:PRT_USSDVSS_RSP,进入CBACK:
1.PsCBackSetCallFeatures()
根据拨出号码,设置到PHB查找,设置gPhoneNumberStruct
判断是否是紧急呼叫:mmi_ucm_is_sos_number()--CheckValidEmergencyNo1()
判断是否是空号码
判断是否已经存在SOS
判断UCM是否忙:mmi_ucm_is_busy()--没有需要处理的Call,没有OUTGOING, INCOMING的group,没有emergency call。
SetCurrentState(CM_OUTGOING_STATE);
AddNewCallInfo()
MakePsInitiateCall((PU8)MsgStruct, (void*)OutgoingCallConnected);

EmguCV类(CvInvoke_Class) 方法整理

EmguCV类(CvInvoke_Class) 方法整理
cvSet2D
为数组的特定元素分配新值
Determinant
返回方阵矩阵的行列式。
Eigen
计算对称矩阵的特征值和特征向量
Exp
计算输入数组的每个元素的指数
dst(I)= exp(src(I))
FindFundamentalMat
使用四种方法之一计算基本矩阵,如果没有找到矩阵,则返回找到的基本矩阵(1或3)和0的数量
计算源数据的加权平均和,使得acc变为帧序列的运行平均值(Calculates weighted sum of input src and the accumulator acc so that acc becomes a running average of frame sequence: acc(x,y)=(1-alpha) * acc(x,y) + alpha * image(x,y) if mask(x,y)!=0 where alpha regulates update speed (how fastaccumulator forgets about previous frames).
SolvePnPRansac
利用Ransac方法利用点对求解相机姿态
StereoRectify
计算每个摄像机的旋转矩阵(虚拟地)使两个摄像机图像平面处于相同的平面。
Undistort
转换图像以补偿径向和切向透镜失真
UndistortPoints
与cvInitUndistortRectifyMap相似但也不同,相似的内容是他们都可用于校正镜头失真和透视变换。不同的是函数cvInitUndistortRectifyMap实际上执行的是反向转换以初始化地图,而这个函数执行的是正向变换。

第4章 MATLAB图像显示讲解

第4章  MATLAB图像显示讲解

第四章图像显示M a t l a b进行图像处理的步骤如下:↓↓↓↓【目录】一、读图像和图像信息 (2)1、读取图像 (2)2、读取图像信息 (4)二、图像显示 (6)1、i m s h o w(I,n) (6)2、i m s h o w(I,[l o w,h i g h]) (7)3、i m s h o w(B W) (8)4、i m s h o w(X,M A P) (12)5、i m s h o w(R G B) (13)6、显示多帧图像序列 (14)7、i m s h o w f i l e n a m e (17)8、s u b i m a g e (17)三、保存图像 (18)1、i m w r i t e函数 (18)四、图像数据格式转换 (19)07-11、索引图像 (19)2、灰度图像 (19)3、真彩色图像 (20)4、二值图像 (20)一、读图像和图像信息1、读取图像函数i m r e a d可以从任何M a t l a b支持的图像文件格式中,以任意位深度读取一幅图像。

格式为:[X,M A P]=i m r e a d('F I L E N A M E.F M T'),其中:F I L E N A M E-为需要读入的图像文件名称,F M T-为图像格式。

【例】图像读取演示[X1,M A P1]=i m r e a d('演示图像-1位黑白.t i f');[X2,M A P2]=i m r e a d('演示图像-8位灰度.t i f');[X3,M A P3]=i m r e a d('演示图像-256色.t i f');[X4,M A P4]=i m r e a d('演示图像-16位灰度.t i f');[X5,M A P5]=i m r e a d('演示图像-24位色.t i f');[X6,M A P6]=i m r e a d('演示图像-48位色.t i f');07-207-3w h o sN a m e S i z e B y t e s C l a s sM A P10x00d o u b l e a r r a yM A P20x00d o u b l e a r r a yM A P3256x36144d o u b l e a r r a yM A P40x00d o u b l e a r r a yM A P50x00d o u b l e a r r a yM A P60x00d o u b l e a r r a yX1427x427182329l o g i c a l a r r a yX2427x427182329u i n t8a r r a yX3427x427182329u i n t8a r r a yX4427x427364658u i n t16a r r a yX5427x427x3546987u i n t8a r r a yX6427x427x31093974u i n t16a r r a yG r a n d t o t a l i s1824058e l e m e n t s u s i n g2558750b y t e s2、读取图像信息可以通过调用i m f i n f o函数获得与图像文件有关的信息,格式如下:I N F O=i m f i n f o('F I L E N A M E.F M T')其中:返回的I N F O是M a t l a b的一个结构体。

MTK平台camera(摄像头)调试教程

MTK平台camera(摄像头)调试教程

MTK 平台 CAMERA 驱动浅析Camera Driver analysis in the platform of MTKDocument Number:Preliminary (Released) InformationRevision:0.1Release Date:Ghong Confidential Revision 0.1-Feb.14 2012- 1 -Ⓒ2012 Ghong inc.Revision HistoryRevision Date (dd/mm/yyyy)Author Comments0.114/02/2012Guoqing Zhang Draft VersionGhong Confidential Revision 0.1-Feb.14 2012- 2 -Ⓒ2012 Ghong inc.Contents一、.-二、.-三、.-四、.-五、.-、.-、.-、.-、.-六、.-七、.-、.-、.-、.-、.-、.-、.-八、.-).-).-).-九、.-十、.-Ghong Confidential Revision 0.1-Feb.14 2012- 3 -Ⓒ2012 Ghong inc.一、手机Camera的物理结构:FPC: Flexible Printed Circuit 可挠性印刷电路板Sensor:图象传感器IR:红外滤波片Holder:基座Lens:镜头二、Camera的成像原理:景物通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为模拟的电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过 IO 接口传输到 CPU 中处理,通过 LCD 就可以看到图像了。

Ghong Confidential Revision 0.1-Feb.14 2012- 4 -百度文库 - 让每个人平等地提升自我Ⓒ2012 Ghong inc.图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。

MTK一些有用的层函数

MTK一些有用的层函数
dm_register_category_controlled2_callback
该函数会为创建的层指定绘定函数,并且这两个函数只能分别处理DM管理的层,DM管理的层及相关控件可以在结构mmi_dm_control_ids_enum找到,这两个函数可以在DM指定的层上绘图,既可以处理不同的层,也可以处理相同的层,如果不同的层,可以定义在g_categories_controls_map中的control_set_p中定义如下,control_set_p中一般会包含基层,有时也包含新层,定义如下格式
该调用会重新刷屏,很遗憾的是,你新创建的层不在数组dm_layers中,也就不在他刷新的范围内。要么调用dm_add_blt_layer把你的层加入,要么在dm_redraw_category_screen之后再把你自己的层刷到屏上。
使用外部内存创建层
med_alloc_ext_mem
当然类似函数也有很多,如
前三个函数都是刷屏函数,前两个功能一模一样,只能指定刷新的区域,使用前需要用第四个函数指定参与操作的层。第三个可以自己指定要刷到屏的层和区域。需要说明的是,执行gui_BLT_double_buffer和执行gdi_layer_blt_previous不仅效果一样,执行过程也是一样的,gui_BLT_double_buffer只是个函数指针,指向gdi_layer_blt_previous,调用他最后执行的仍然是gdi_layer_blt_previous
设置层的
如果层上的数据是经过十分复杂的运算过程得出来的,比如要在IDLE上显示一个可以使用手指移动的农历是日历,这时就可以在层上画好要显示的数据,通话移动层的位置实现移动效果,要比每次重绘日历要快捷的多。
合并到BASE层

MTK图层资料

MTK图层资料

gui_buffer = GetCurrGuiBuffer(SCR_ID_XXXX);
//设置窗口不带状态栏
entry_full_screen();
//开启多层
gdi_layer_multi_layer_enable();
/*该处的2等于((GDI_LCD_WIDTH*GDI_LCD_HEIGHT*GDI_MAINLCD_BIT_PER_PIXEL)>>3)
}
}
}
gdi_layer_pop_and_restore_active();
gdi_layer_get_active(&last_active_layer);
gdi_layer_flatten(last_active_layer,transit_layer2,NULL,NULL);
gdi_handle my_layer1, my_layer2, my_base_layer;
PU8 buf_ptr;
void exit_myapp_screen(void)
{
if (buf_ptr != NULL)
{
med_free_ext_mem((void **)&buf_ptr);
gdi_layer_create_using_outside_memory(0,0,imge_width,imge_height,&transit_layer1,(PU8)transit_layer_buff_ptr1,transit_layer_buff_size1);
gdi_layer_push_and_set_active(transit_layer1);
}
if (my_layer1 != NULL)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、S32 gdi_image_draw_id(S32 offset_x, S32
offset_y, U16 image_id);
offset_x和offset_y 是图片左上角的坐标,image_id是指向图片的枚举类
型,
用法如下:
ADD_APPLICATION_IMAGE(MAIN_MENU_MA TRIX_PHONEBOOK_ICON,CUST_IM
G_PATH"\\\\MainLCD\\\\MainMenu\\\\MATRIX\\\\MM_PB.gif");
2、S32 gdi_image_draw(S32 offset_x, S32 offset_y, U8 *image_ptr);
Image_ptr是用file2hex.exe转化后的图片文件名;
在MTK平台里,image_ptr = (U8*)GetImage(image_id);
3、S32 gdi_image_draw_file(S32 offset_x, S32 offset_y, S8
*image_name);
Image_name是图片的文件名;
4、S32 gdi_image_get_dimension_id(U16 image_id, S32 *width, S32
*height);
S32 gdi_image_get_dimension_file(S8 *image_name, S32 *width, S32
*height);
S32 gdi_image_get_dimension(U8 *image_ptr, S32 *width, S32 *height);
获得图片的长宽参数
5、S32 gdi_image_get_frame_count_id(U16 image_id, S32 *frame_count); S32 gdi_image_get_frame_count_id(U16 image_id, S32 *frame_count);
获得动态图片的帧数
画点函数;
6、void UI_putpixel(s32 x,s32 y,color c);
7、关于剪切矩形:
void UI_set_clip(s32 x1,s32 y1,s32 x2,s32 y2);
void UI_reset_clip(void);
void UI_pop_clip(void);
void UI_set_text_clip(s32 x1,s32 y1,s32 x2,s32 y2);
void UI_reset_text_clip(void);
void UI_pop_text_clip(void);
画线函数;
颜色为c的一条直线:
void UI_line(s32 x1,s32 y1,s32 x2,s32 y2,color c);
颜色为c,宽度为w的一条直线:
void UI_wline(s32 x1,s32 y1,s32 x2,s32 y2,color c,s32 w);
画一个空心矩形:
void UI_draw_rectangle(s32 x1,s32 y1,s32 x2,s32 y2,color c); 填充一个矩形:
void UI_fill_rectangle(s32 x1,s32 y1,s32 x2,s32 y2,color c); 画图区域控制函数:
void UI_lock_double_buffer(void);
void UI_unlock_double_buffer(void);
void UI_BLT_double_buffer(s32 x1, s32 y1, s32 x2 , s32 y2); 文字输出有关的函数:
设置字符显示区:
void UI_set_text_clip(s32 x1,s32 y1,s32 x2,s32 y2);
设置字体颜色:
void UI_set_text_color(color c);
设置字体边框颜色:
void UI_set_text_border_color(color c);
设置当前光标位置:
void UI_move_text_cursor(s32 x,s32 y);
获取字符串的长、宽参数:
void UI_measure_string(UI_string_type text,s32 *width,s32 *height);
获得单个字符的长、宽参数:
void UI_measure_character(UI_character_type c,s32 *width,s32
*height);
输出字符串:
void UI_print_text(UI_string_type text);
输出一个字符:
void UI_print_character(UI_character_type c);
字符串求长:
U16 UTF8Strlen(U8 *p);
字符串操作函数:
字符串查找:strstr
字符串拷贝:strcpy
字符串定长拷贝:strncpy
字符串比较:strcmp
字符串定长比较:strncmp
字符串续接:strcat
字符串定长续接:strncat
字符串转化为整型函数:atoi
整型转化为字符串函数:itoa
关于层
建立一个层:
GDI_RESULT dm_create_layer_using_outside_memory(S32 x, S32 y, S32 width, S32 height, gdi_handle **handle_ptr, U8 *outside_memory, S32 outside_memory_size, U32 flags);
MTK平台上,软件支持四层。

获取base layer,即最下面的层:
GDI_RESULT gdi_layer_get_base_handle(gdi_handle *handle_ptr);
将层压栈并激活,执行此条语句后,可以对该层操作,
void gdi_layer_push_and_set_active(gdi_handle handle);
操作完成后,用下面的函数让该层出栈:
void gdi_layer_pop_and_restore_active(void);
最后用函数
GDI_RESULT gdi_layer_set_blt_layer_ext(gdi_handle handle0,
gdi_handle handle1, gdi_handle handle2, gdi_handle handle3)将层从下到上显示出来。

设置层透明色:
GDI_RESULT gdi_layer_set_source_key(BOOL
source_key_enable,gdi_color source_key_value);
调试信息输出函数:
kal_prompt_trace。

相关文档
最新文档