CN116204257A - 图像预览方法、装置、存储介质及计算机设备 - Google Patents

图像预览方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN116204257A
CN116204257A CN202211731138.XA CN202211731138A CN116204257A CN 116204257 A CN116204257 A CN 116204257A CN 202211731138 A CN202211731138 A CN 202211731138A CN 116204257 A CN116204257 A CN 116204257A
Authority
CN
China
Prior art keywords
image
preview
image data
thread
mobile terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211731138.XA
Other languages
English (en)
Other versions
CN116204257B (zh
Inventor
罗德祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Shixi Technology Co Ltd
Original Assignee
Zhuhai Shixi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Shixi Technology Co Ltd filed Critical Zhuhai Shixi Technology Co Ltd
Priority to CN202211731138.XA priority Critical patent/CN116204257B/zh
Publication of CN116204257A publication Critical patent/CN116204257A/zh
Application granted granted Critical
Publication of CN116204257B publication Critical patent/CN116204257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72439User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for image or video messaging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Studio Devices (AREA)

Abstract

本发明公开了一种图像预览方法、装置、存储介质及计算机设备,涉及相机控制技术领域,主要在于能够将安卓移动端的图像在电脑客户端上进行显示,其中方法包括:在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程;响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数;基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据;将原始图像数据处理成为待显示图像数据;将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像。

Description

图像预览方法、装置、存储介质及计算机设备
技术领域
本发明涉及相机控制技术领域,尤其是涉及一种图像预览方法、装置、存储介质及计算机设备。
背景技术
目前市面上Android(安卓)平台的设备,其自带相机只能在设备本身上进行预览和拍照,比如一个Android平台的智能手机,手机上的相机只能在手机屏幕上预览或拍照,无法作为一个UVC(USB Video Class,一种为USB视频捕获设备定义的协议标准)相机给其它设备,比如PC端(客户端)等使用,导致PC端无法预览Android手机上的图片等数据,从而降低了用户的体验感。
发明内容
本发明提供了一种图像预览方法、装置、存储介质及计算机设备,以克服或者部分克服现有技术的不足。
根据本发明的第一个方面,提供一种图像预览方法,包括:
在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在所述管理进程中增设预览指令处理线程和第二预览函数线程;
响应于电脑客户端发送的图像预览指令,基于所述第一预览函数线程、所述预览指令处理线程和所述第二预览函数线程,获取图像预览函数;
基于所述图像预览指令中携带的分辨率,利用所述图像预览函数在安卓移动端中获取原始图像数据;
将所述原始图像数据处理成为待显示图像数据;
将所述待显示图像数据传输至所述电脑客户端,以便在所述电脑客户端中显示所述待显示图像数据对应的图像。
可选地,在所述响应于电脑客户端发送的图像预览指令之前,所述方法还包括:
建立所述电脑客户端与所述安卓移动端之间的连接,其中,所述安卓移动端在所述电脑客户端中被配置为USB接口相机,其中,所述USB接口相机是采用通信协议UVC控制的;
控制所述电脑客户端和所述安卓移动端的开启。
可选地,所述在所述控制所述电脑客户端和所述安卓移动端的开启之后,所述方法还包括:
将所述安卓移动端相机框架中的服务进程进行初始化,得到初始化后的服务进程;
将所述安卓移动端相机框架中的管理进程进行初始化,得到初始化后的管理进程。
可选地,所述基于所述第一预览函数线程、所述预览指令处理线程和所述第二预览函数线程,获取图像预览函数,包括:
利用所述预览指令处理线程调用第二预览函数线程中的打开预览函数;
利用所述打开预览函数跨进程调用第一预览函数线程中的图像预览函数。
可选地,所述方法还包括:
在所述安卓移动端相机框架的服务进程中增设图像数据调用线程。
可选地,所述基于所述图像预览指令中携带的分辨率,利用所述图像预览函数在安卓移动端中获取原始图像数据,包括:
基于所述图像预览函数,在所述图像数据调用线程中创建图像数据调用函数;
根据所述图像预览指令中携带的分辨率,利用所述图像数据调用函数获取安卓移动端的原始图像数据。
可选地,所述USB接口相机的管理进程中包括图像传感器、图像信号处理器和图像编码器,所述将所述原始图像数据处理成为待显示图像数据,包括:
利用所述图像传感器采集原始图像数据,并将所述原始图像数据传输至所述图像信号处理器中进行图像处理,得到处理后的图像数据;
将所述处理后的图像数据传输至所述图像编码器中进行编码处理,得到待显示图像数据。
可选地,在所述利用所述图像传感器采集原始图像数据之前,所述方法还包括:
对所述图像传感器进行标准化配置,得到配置后的图像传感器;
对所述图像信号处理器进行标准化配置,得到配置后的图像信号处理器。
可选地,所述对所述图像传感器进行标准化配置,得到配置后的图像传感器,包括:
对所述图像传感器中的感光度、帧率、信噪比分别进行配置,得到配置后的图像传感器;
可选地,所述对所述图像信号处理器进行标准化配置,得到配置后的图像信号处理器,包括:
对所述图像信号处理器中的坏点校正参数、白平衡校正参数、降噪参数、阴影校正参数进行配置,得到配置后的图像信号处理器。
根据本发明的第二个方面,提供一种图像预览装置,包括:
增设单元,用于在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在所述管理进程中增设预览指令处理线程和第二预览函数线程;
函数获取单元,用于响应于电脑客户端发送的图像预览指令,基于所述第一预览函数线程、所述预览指令处理线程和所述第二预览函数线程,获取图像预览函数;
图像获取单元,用于基于所述图像预览指令中携带的分辨率,利用所述图像预览函数在安卓移动端中获取原始图像数据;
图像处理单元,用于将所述原始图像数据处理成为待显示图像数据;
图像显示单元,用于将所述待显示图像数据传输至所述电脑客户端,以便在所述电脑客户端中显示所述待显示图像数据对应的图像。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以上图像预览方法。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上图像预览方法。
根据本发明的第五个方面,提供一种摄像设备,所述摄像设备部署有上述的图像预览装置。
根据本发明的第六个方面,提供一种图像预览系统,所述系统包括至少一个摄像头、至少一个显示终端以及与所述摄像头和显示终端连接的图像预览装置。
根据本发明提供的一种图像预览方法、装置、存储介质及计算机设备,与目前仅能在安卓移动端上进行图像预览的方式相比,本发明通过在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程;并响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数;与此同时,基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据;之后将原始图像数据处理成为待显示图像数据;最终将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像,由此本发明通过修改安卓移动端原生Camera(相机)软件框架,通过对服务进程和管理进程进行简单改造的情况下,实现了将安卓移动端相机中的图像显示在电脑客户端界面上,提升了用户的使用体验感,与此同时,无需进行代码的二次开发,节约了相机控制的代码开发成本,提高了开发效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种图像预览方法流程图;
图2示出了本发明实施例提供的一种修改之前的安卓移动端的原生相机架构流程图;
图3示出了本发明实施例提供的一种修改之后的安卓移动端的相机架构流程图;
图4示出了本发明实施例提供的一种电脑客户端上potplayer软件的设备配置页面;
图5示出了本发明实施例提供的另一种图像预览方法流程图;
图6示出了本发明实施例提供的一种图像预览装置的结构示意图;
图7示出了本发明实施例提供的另一种图像预览装置的结构示意图;
图8示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请提供的图像预览方法,可以应用于终端,例如终端可以是各种商业用途大平板、手机或电脑、普通消费平板电脑、智能电视、便携计算机终端,也可以是台式计算机等固定终端。
本申请实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
目前,Android平台的智能手机上的相机只能在手机屏幕上预览图像的方式,导致手机上的图像不能在电脑客户端上查看,从而降低了用户的使用体验感。
为了解决上述问题,本发明实施例提供了一种图像预览方法,如图1所示,所述方法包括:
101、在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程。
其中,安卓移动端可以为安卓手机等设备。进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
具体地,安卓移动端原生相机框架的结构如图2所示,包括Camera进程(相机应用进程)、CameraService进程(服务进程)和CameraHal进程(管理进程),其中,Camera进程负责界面交互的逻辑控制和数据处理,Camera进程包括两个类,分别为android.hardware.camera2.CameraDevice类处于Camera应用进程当中,代表一个Camera设备对象,具有打开或关闭Camera设备,打开或关闭预览等操作,能够跟CameraService进程中的CameraDeviceClient对象进行CallBack(互相通信);与此同时,android.hardware.camera2.CameraManage类处于Camera应用进程当中,代表一个Camera管理对象,可以获取系统中具体有多少相机设备,各个相机设备具体有什么样的能力等等。
CameraService进程:是相机框架层的一个进程,向上负责管理多个Camera(相机)应用进程相应客户端以及会话,向下管理多个相机设备的逻辑控制和数据传递,起到了承上启下的作用,CameraService进程包括CameraDeviceClient(相机使用的客户端对象)、CameraDevice3(相机设备的对象)、CameraService(相机服务的对象)、CameraProviderManager(相机提供者管理对象),其中,CameraDeviceClient处于CameraService进程中,与Camera应用进程中的android.hardware.camera2.CameraDevice对象进行通信,传递其相应的请求;CameraDevice3处于CameraService进程中,具有控制相机和其数据管理的作用,同时与CameraHal进程中的ICameraDeviceSession对象进行进行通信;CameraService处于CameraService进程中,管理各个相机使用的客户端对象CameraDeviceClient以及监控各个相机设备的使用情况,与Camera应用进程中的android.hardware.camera2.CameraManager进行通信;CameraProviderManager处于CamereaService进程中,统计各个相机设备的能力,管理相机设备的注册和注销。
CameraHal进程用于管理相机相关硬件模块的控制和数据处理,CameraHal进程包括ICameraDeviceSesssion(相机设备的会话对象)、ICameraDevice(相机设备对象)、ICameraProvider(相机提供者对象)、ISP(Image Signal Processing,图像信号处理器)、SENSOR(图像传感器),其中,ICameraDeviceSesssion处于CameraHal进程中,用于控制和协调各个硬件模块对Camera应用进程发下来的请求进行具体的实现和响应;ICameraDevice处于CameraHal进程中,用于对Sensor进行控制;ICameraProvider处于CameraHal进程中,用于监控Sensor是否注册,具有哪些能力等。
进一步地,安卓移动端原生相机框架的图像预览流程为,用户在Camera应用进程操作,请求打开预设分辨率,如3840x2160的相机图像预览流,该请求通过跨进程调用传递到CameraService进程,CameraService进程进行准备工作后向CameraHal进程发送打开预览图片的请求,CameraHal进程收到该请求后,对SENSOR和ISP等进行必要的初始化和配置,然后SENSOR输出数据到ISP模块处理,处理后传递到CameraService进程,最终传递给原生相机框架的SurfaceFlinger(图像显示)进程去显示。
进一步地,在了解安卓移动端原生相机框架的基本结构后,为了将安卓移动端中的图像在电脑客户端中进行显示,首先需要修改Android原生Camera相机框架,修改后的相机框架如图3所示,具体可以在CameraService进程中增加NativeUvcCameraApp线程(图像数据调用线程)、UvcCameraProviderManager(UVC相机提供者管理对象)线程,即第一预览函数线程。其中,NativeUvcCameraApp通过CameraDeviceClient控制相机相关操作,如打开或关闭相机,开始或停止相机预览等等;UvcCameraProviderManager用于统计各个UVC相机设备的能力,管理UVC相机设备的注册和注销,与CameraHal进程中的IUvcCameraProvider对象进行binder(一种跨进程传输的方式,具有相应的客户端和服务端)通信。与此同时,在CameraHal进程中增设IUvcCameraProvider线程(第二预览函数线程)和UvcTransfer线程(预览指令处理线程)和VENC(velocity encoding,图像编码器),其中,IUvcCameraProvider用于监控UVC相机的插拔情况,与UvcCameraProviderManager对象进行binder通信,中传UvcCameraProviderManager和UvcTransfer对象的请求;UvcTransfer用于处理来自电脑客户端端的图像预览请求,控制UVC相机和图像编码器进行图像数据的编码和传输。由此通过在不对安卓移动端相机框架的硬件进行改造、只需对代码底层框架进行简单的改造的情况下,即可实现将安卓移动端的图像在电脑客户端进行显示,无需进行代码的二次开发,极大程度上节约了相机控制的代码开发成本,提高了开发效率。
102、响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数。
其中,图像预览指令中携带有分辨率,如分辨率为3840x2160。
具体地,在对安卓移动端原生相机框架进行修改之后,为了将安卓移动端上的图像在电脑客户端中进行显示,还需要将安卓移动端通过USB(Universal Serial Bus,通用串行总线)与电脑客户端连接,之后监听电脑客户端是否发送图像预览指令,其中,电脑客户端发送图像预览指令的方式包括,首先在电脑客户端中安装potplayer(播放器)软件,之后打开potplayer软件,并在potplayer软件的菜单栏中打开设备设置界面,所述设备设置界面如图4所示,在所述设备设置界面中选择UVC相机设备(即更改框架后的安卓移动端相机),并选择相应的格式、音频等选项,之后点击设备设置界面相应位置处的打开设备按钮,即触发了图像预览指令,当更改之后的安卓移动端的相机框架的CameraHal进程中的UvcTransfer(预览指令处理线程)接收到该指令后调用IUvcCameraProvider(第二预览函数线程)中的打开预览函数,并利用打开预览函数通过binder跨进程调用到UvcCameraProviderManager(第一预览函数进程)中的图像预览函数,即获取到了图像预览函数,以便通过图像预览函数获取安卓移动端中的原始图像数据,并对原始图像数据处理成为满足电脑客户端显示的待显示图像数据,最终将待显示图像数据传输至电脑客户端进行图像显示,从而通过对安卓移动端的原生相机框架进行更改,从而能够将安卓移动端的图像在电脑客户端中进行显示,提升了用户的体验感。
103、基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据。
其中,原始图像数据是指安卓移动端的相机拍摄的图像数据。
具体地,用户在电脑客户端中potplayer软件的设备配置界面中填写想要显示的分辨率,然后点击该设备配置界面中的打开设置按钮,即向安卓移动端发送了图像预览指令,同时该图像预览指令中携带了用户设置的分辨率,此时安卓移动端修改后的相机框架中CameraHal进程中的UvcTransfer线程(预览指令处理线程)会接收到电脑客户端发送过来的图像预览指令,当UvcTransfer线程接收到图像预览指令后,会调用IUvcCameraProvider线程(第二预览函数线程)中的打开预览函数,之后通过打开预览函数通过binder跨进程调用到UvcCameraProviderManager线程(第一预览函数线程)中的图像预览函数,之后通过图像预览函数创建NativeUvcCameraApp(图像数据调用线程),在NativeUvcCameraApp中,基于图像预览指令中携带的分辨率,使用安卓原生Camera架构流程获取原始图像数据,由此本发明通过在电脑移动端设置分辨率,最终按照此分辨率获取安卓移动端的图像进行显示,能够保证显示在电脑客户端图像的清晰度,从而提升了用户的使用体验感。
104、将原始图像数据处理成为待显示图像数据。
其中,待显示图像数据为符合电脑客户端显示格式的图像数据。具体地,在获取安卓移动端的原始图像数据后,按照电脑客户端图像显示格式对原始图像数据进行数据转换,得到符合电脑客户端显示格式的待显示图像数据,以便将待显示图像数据传输至电脑客户端进行图像显示,从而提高了显示在电脑客户端的图像的清晰度。
105、将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像。
具体地,将待显示图像数据通过USB接口传输给电脑客户端,当电脑客户端接收到待显示图像数据后,会在电脑客户端的显示界面中显示待显示图像数据对应的图像,能够避免手机、平板电脑等移动终端的较小的显示屏无法较好地满足用户的预览需求,从而将手机等移动端的图像显示在电脑等大显示屏的设备上,这样可以借助计算机较大的显示屏显示移动终端的显示内容,提高用户体验,使用户能够清楚地预览到图像。
根据本发明提供的一种图像预览方法,与目前仅能在安卓移动端上进行图像预览的方式相比,本发明通过在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程;并响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数;与此同时,基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据;之后将原始图像数据处理成为待显示图像数据;最终将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像,由此本发明通过修改安卓移动端原生Camera(相机)软件框架,通过对服务进程和管理进程进行简单改造的情况下,实现了将安卓移动端相机中的图像显示在电脑客户端界面上,提升了用户的使用体验感,与此同时,无需进行代码的二次开发,节约了相机控制的代码开发成本,提高了开发效率。
进一步的,为了更好的说明上述对图像进行预览的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种图像预览方法,如图5所示,所述方法包括:
201、在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程。
具体地,为了将安卓移动端的图像在电脑客户端进行显示,首先需要对安卓移动端的原生相机框架进行更改,将安卓移动端构造成一款USB相机,并通过USB接口将USB相机与电脑客户端连接,以此来供电脑客户端使用,与此同时,还可以预先配置USB相机的分辨率,该分辨率的格式有多种,可以为H264,H265,MJPEG和YUV420等。具体对安卓移动端的原生相机框架进行更改的方式可以为,在在安卓移动端相机框架的服务进程中增设第一预览函数线程和图像数据调用线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程,之后利用增设的上述线程,获取安卓移动端的原始图像数据,并将原始图像数据处理为待显示图像数据,最终将待显示图像数据传输至电脑客户端进行图像显示。
202、建立电脑客户端与安卓移动端之间的连接,其中,安卓移动端在电脑客户端中被配置为USB接口相机,其中,USB接口相机是采用通信协议UVC控制的。
具体地,为了将安卓移动端的图像在电脑客户端中进行显示,首先需要建立电脑客户端与安卓移动端之间的连接,具体可以通过USB数据线的形式将电脑客户端与安卓移动端之间建立连接,由此构造出了一款USB相机供电脑客户端进行使用,且通过uvc协议将该Android移动端构造出一款USB相机供电脑客户端使用。
203、控制电脑客户端和安卓移动端的开启。
对于本发明实施例,在将电脑客户端与安卓移动端之间建立连接后,开启电脑客户端和安卓移动端,在开启安卓移动端后,为了使更改后的安卓移动端的相机能够更好的工作,还需要对安卓移动端的相机框架中的各个进程进行初始化,基于此,所述方法包括:将安卓移动端相机框架中的服务进程进行初始化,得到初始化后的服务进程;将安卓移动端相机框架中的管理进程进行初始化,得到初始化后的管理进程。
具体地,Android移动端系统启动后将相机框架中的CameraHal进程和CameraService进程进行初始化,做些准备工作,跟UVC有关的有,首先在CameraService进程中将UvcCameraProviderManager初始化,在CameraHal进程将IUvcCameraProvider初始化,IUvcCameraProvider会将UvcTransfer和VENC模块初始化,IUvcCameraProvider与UvcCameraProviderManager是以binder为基础能够相互跨进程调用的客户端和服务端,都初始化完成后,开始监听电脑客户端是否有发送图像预览指令。由此通过对安卓移动端相机框架中各个进程进行初始化,能够保证各个进程能够更快速的工作,从而提高了图像预览的效率。
204、响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数。
对于本发明实施例,在对安卓移动端相机框中的各个进程进行初始化后,若想将安卓移动端的图像在电脑客户端进行显示,首先用户需要在电脑客户端的potplayer软件中设置分辨率和格式等选项,设置完毕触发预览标识,即触发了针对安卓移动端的图像预览指令,当安卓移动端接收到电脑客户端发送的图像预览指令后,会获取图像预览函数,基于此,步骤204具体包括:利用预览指令处理线程调用第二预览函数线程中的打开预览函数;利用打开预览函数跨进程调用第一预览函数线程中的图像预览函数。
具体地,电脑客户端选择分辨率,如3840x2160分辨率后,通过uvc协议向Android移动端发送图像预览指令,Android移动端的相机框架程序上的CameraHal进程中的UvcTransfer接收到该指令后调用IUvcCameraProvider中的打开预览函数,IUvcCameraProvider通过binder跨进程调用到UvcCameraProviderManager中的图像预览函数,最终利用图像预览函数获取Android移动端的原始图像数据。
205、基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据。
对于本发明实施例,因为预先在电脑客户端设置了分辨率,因此,在确定图像预览函数后,还需要根据分辨率,利用图像预览函数在安卓移动端中获取原始图像数据,基于此,步骤205具体包括:基于图像预览函数,在图像数据调用线程中创建图像数据调用函数;根据图像预览指令中携带的分辨率,利用图像数据调用函数获取安卓移动端的原始图像数据。
具体地,安卓移动端相机框架上CameraHal进程中的UvcTransfer接收到电脑客户端发送的图像预览指令后,调用IUvcCameraProvider中的打开预览函数,之后IUvcCameraProvider中的打开预览函数通过binder跨进程调用到UvcCameraProviderManager的图像预览函数,之后利用图像预览函数在NativeUvcCameraApp中创建图像数据调用函数,图像数据调用函数根据分辨率,在NativeUvcCameraApp中调用Android移动端原生Camera框架中的原始图像数据,之后将原始图像数据进程处理,得到待显示图像数据,最终将待显示图像数据传输至电脑客户端进行图像显示。
206、将原始图像数据处理成为待显示图像数据。
207、将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像。
其中,USB接口相机的CameraHal进程(管理进程)中包括图像传感器(SENSOR)、图像信号处理器(ISP)和图像编码器(VENC)。
对于本发明实施例,为了将安卓移动端的图像在电脑客户端中进行显示,首先需要利用安卓移动端相机框架中的图像传感器采集原始图像数据,在获取安卓移动端的原始图像数据后,还需要利用图像信号处理器和图像编码器将原始图像数据转换成能够在电脑客户端进行显示的格式,为了能够提高图像数据的转化准确度和转化效率,首先需要对图像传感器和图像信号处理器进行配置并使能,基于此,所述方法包括:对图像传感器进行标准化配置,得到配置后的图像传感器;对图像信号处理器进行标准化配置,得到配置后的图像信号处理器。
具体地,可以对图像传感器中的感光度、帧率、信噪比分别进行配置,得到配置后的图像传感器,与此同时,对图像信号处理器中的坏点校正参数、白平衡校正参数、降噪参数、阴影校正参数进行配置,得到配置后的图像信号处理器。
进一步地,在对图像传感器和图像信号处理器进行配置后,需要利用配置后的图像传感器、配置后的图像信号处理器,和图像编码器确定待显示图像数据,基于此,步骤206具体包括:利用图像传感器采集原始图像数据,并将原始图像数据传输至图像信号处理器中进行图像处理,得到处理后的图像数据;将处理后的图像数据传输至图像编码器中进行编码处理,得到待显示图像数据。
具体地,安卓移动端的相机框架在进行工作时,首先需要利用安卓移动端相机框架中的SENSOR(图像传感器)采集相机感光面上的光信号图像数据,图像传感器利用光电器件的光电转换功能将感光面上的光信号图像数据转换为与光信号成相应比例关系的电信号图像数据,并对电信号图像数据进行处理,得到原始图像数据,之后将原始图像数据再输送到ISP中,在ISP中进行图像处理后,得到处理后的图像数据,之后将处理后的图像数据输入至VENC中进行编码,再将编码后的数据(待显示图像数据)传递给UvcTransfer,最终UvcTransfer通过uvc通信协议将待显示图像数据发送给电脑客户端进行显示。
根据本发明提供的另一种图像预览方法,与目前仅能在安卓移动端上进行图像预览的方式相比,本发明通过在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程;并响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数;与此同时,基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据;之后将原始图像数据处理成为待显示图像数据;最终将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像,由此本发明通过修改安卓移动端原生Camera(相机)软件框架,通过对服务进程和管理进程进行简单改造的情况下,实现了将安卓移动端相机中的图像显示在电脑客户端界面上,提升了用户的使用体验感,与此同时,无需进行代码的二次开发,节约了相机控制的代码开发成本,提高了开发效率。
进一步地,作为图1的具体实现,本发明实施例提供了一种图像预览装置,如图6所示,所述装置包括:增设单元31、函数获取单元32、图像获取单元33、图像处理单元34和图像显示单元35。
所述增设单元31,可以用于在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在所述管理进程中增设预览指令处理线程和第二预览函数线程。
所述函数获取单元32,可以用于响应于电脑客户端发送的图像预览指令,基于所述第一预览函数线程、所述预览指令处理线程和所述第二预览函数线程,获取图像预览函数。
所述图像获取单元33,可以用于基于所述图像预览指令中携带的分辨率,利用所述图像预览函数在安卓移动端中获取原始图像数据。
所述图像处理单元34,可以用于将所述原始图像数据处理成为待显示图像数据。
所述图像显示单元35,可以用于将所述待显示图像数据传输至所述电脑客户端,以便在所述电脑客户端中显示所述待显示图像数据对应的图像。
在具体应用场景中,为了建立电脑客户端和安卓移动端之间的连接,如图7所示,所述装置还包括:建立单元36和控制单元37。
所述建立单元36,可以用于建立所述电脑客户端与所述安卓移动端之间的连接,其中,所述安卓移动端在所述电脑客户端中被配置为USB接口相机,其中,所述USB接口相机是采用通信协议UVC控制的。
所述控制单元37,可以用于控制所述电脑客户端和所述安卓移动端的开启。
在具体应用场景中,为了对安卓移动端相机框架中各种进程进行初始化,所述装置还包括:初始化单元38。
所述初始化单元38,可以用于将所述安卓移动端相机框架中的服务进程进行初始化,得到初始化后的服务进程。
所述初始化单元38,还可以用于将所述安卓移动端相机框架中的管理进程进行初始化,得到初始化后的管理进程。
在具体应用场景中,为了获取图像预览函数,所述函数获取单元32,具体可以用于利用所述预览指令处理线程调用第二预览函数线程中的打开预览函数;利用所述打开预览函数跨进程调用第一预览函数线程中的图像预览函数。
在具体应用场景中,所述增设单元31,还可以用于在所述安卓移动端相机框架的服务进程中增设图像数据调用线程。
在具体应用场景中,为了获取原始图像数据,所述图像获取单元33,包括函数创建模块331和图像获取模块332。
所述函数创建模块331,可以用于基于所述图像预览函数,在所述图像数据调用线程中创建图像数据调用函数。
所述图像获取模块332,可以用于根据所述图像预览指令中携带的分辨率,利用所述图像数据调用函数获取安卓移动端的原始图像数据。
在具体应用场景中,为了将原始图像数据处理为待显示图像数据,所述图像处理单元34,具体可以用于利用所述图像传感器采集原始图像数据,并将所述原始图像数据传输至所述图像信号处理器中进行图像处理,得到处理后的图像数据;将所述处理后的图像数据传输至所述图像编码器中进行编码处理,得到待显示图像数据。
在具体应用场景中,为了对图像传感器和图像信号处理器进行配置,所述装置还包括配置单元39。
所述配置单元39,可以用于对所述图像传感器进行标准化配置,得到配置后的图像传感器;对所述图像信号处理器进行标准化配置,得到配置后的图像信号处理器。
在具体应用场景中,为了对图像传感器和图像信号处理器进行配置,所述配置单元39,具体可以用于对所述图像传感器中的感光度、帧率、信噪比分别进行配置,得到配置后的图像传感器;对所述图像信号处理器中的坏点校正参数、白平衡校正参数、降噪参数、阴影校正参数进行配置,得到配置后的图像信号处理器。
需要说明的是,本发明实施例提供的一种图像预览装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程;响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数;基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据;将原始图像数据处理成为待显示图像数据;将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像。
基于上述如图1所示方法和如图6所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图8所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程;响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数;基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据;将原始图像数据处理成为待显示图像数据;将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像。
根据本发明一个实施例提供了一种摄像设备,所述摄像设备部署有上述图像预览装置。
根据本发明一个实施例提供了一种图像预览系统,所述系统包括至少一个摄像头、至少一个显示终端以及与所述摄像头和显示终端连接的图像预览装置。
通过本发明的技术方案,本发明通过在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在管理进程中增设预览指令处理线程和第二预览函数线程;并响应于电脑客户端发送的图像预览指令,基于第一预览函数线程、预览指令处理线程和第二预览函数线程,获取图像预览函数;与此同时,基于图像预览指令中携带的分辨率,利用图像预览函数在安卓移动端中获取原始图像数据;之后将原始图像数据处理成为待显示图像数据;最终将待显示图像数据传输至电脑客户端,以便在电脑客户端中显示待显示图像数据对应的图像,由此本发明通过修改安卓移动端原生Camera(相机)软件框架,通过对服务进程和管理进程进行简单改造的情况下,实现了将安卓移动端相机中的图像显示在电脑客户端界面上,提升了用户的使用体验感,与此同时,无需进行代码的二次开发,节约了相机控制的代码开发成本,提高了开发效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (10)

1.一种图像预览方法,应用于安卓移动端,所述安卓移动端的相机框架中包括服务进程和管理进程,其特征在于,包括:
在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在所述管理进程中增设预览指令处理线程和第二预览函数线程;
响应于电脑客户端发送的图像预览指令,基于所述第一预览函数线程、所述预览指令处理线程和所述第二预览函数线程,获取图像预览函数;
基于所述图像预览指令中携带的分辨率,利用所述图像预览函数在安卓移动端中获取原始图像数据;
将所述原始图像数据处理成为待显示图像数据;
将所述待显示图像数据传输至所述电脑客户端,以便在所述电脑客户端中显示所述待显示图像数据对应的图像。
2.根据权利要求1所述的方法,其特征在于,在所述响应于电脑客户端发送的图像预览指令之前,所述方法还包括:
建立所述电脑客户端与所述安卓移动端之间的连接,其中,所述安卓移动端在所述电脑客户端中被配置为USB接口相机,其中,所述USB接口相机是采用通信协议UVC控制的;
控制所述电脑客户端和所述安卓移动端的开启。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一预览函数线程、所述预览指令处理线程和所述第二预览函数线程,获取图像预览函数,包括:
利用所述预览指令处理线程调用第二预览函数线程中的打开预览函数;
利用所述打开预览函数跨进程调用第一预览函数线程中的图像预览函数。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述安卓移动端相机框架的服务进程中增设图像数据调用线程。
5.根据权利要求1所述的方法,其特征在于,所述基于所述图像预览指令中携带的分辨率,利用所述图像预览函数在安卓移动端中获取原始图像数据,包括:
基于所述图像预览函数,在所述图像数据调用线程中创建图像数据调用函数;
根据所述图像预览指令中携带的分辨率,利用所述图像数据调用函数获取安卓移动端的原始图像数据。
6.根据权利要求1所述的方法,其特征在于,所述USB接口相机的管理进程中包括图像传感器、图像信号处理器和图像编码器,所述将所述原始图像数据处理成为待显示图像数据,包括:
利用所述图像传感器采集原始图像数据,并将所述原始图像数据传输至所述图像信号处理器中进行图像处理,得到处理后的图像数据;
将所述处理后的图像数据传输至所述图像编码器中进行编码处理,得到待显示图像数据。
7.根据权利要求6所述的方法,其特征在于,在所述利用所述图像传感器采集原始图像数据之前,所述方法还包括:
对所述图像传感器进行标准化配置,得到配置后的图像传感器;
对所述图像信号处理器进行标准化配置,得到配置后的图像信号处理器。
8.一种图像预览装置,应用于安卓移动端,所述安卓移动端的相机框架中包括服务进程和管理进程,其特征在于,包括:
增设单元,用于在安卓移动端相机框架的服务进程中增设第一预览函数线程,以及在所述管理进程中增设预览指令处理线程和第二预览函数线程;
函数获取单元,用于响应于电脑客户端发送的图像预览指令,基于所述第一预览函数线程、所述预览指令处理线程和所述第二预览函数线程,获取图像预览函数;
图像获取单元,用于基于所述图像预览指令中携带的分辨率,利用所述图像预览函数在安卓移动端中获取原始图像数据;
图像处理单元,用于将所述原始图像数据处理成为待显示图像数据;
图像显示单元,用于将所述待显示图像数据传输至所述电脑客户端,以便在所述电脑客户端中显示所述待显示图像数据对应的图像。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202211731138.XA 2022-12-30 2022-12-30 图像预览方法、装置、存储介质及计算机设备 Active CN116204257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211731138.XA CN116204257B (zh) 2022-12-30 2022-12-30 图像预览方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211731138.XA CN116204257B (zh) 2022-12-30 2022-12-30 图像预览方法、装置、存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN116204257A true CN116204257A (zh) 2023-06-02
CN116204257B CN116204257B (zh) 2024-03-15

Family

ID=86506913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211731138.XA Active CN116204257B (zh) 2022-12-30 2022-12-30 图像预览方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN116204257B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708458A (zh) * 2016-12-27 2017-05-24 东软集团股份有限公司 一种图像显示的方法及系统
CN107256188A (zh) * 2017-06-30 2017-10-17 百度在线网络技术(北京)有限公司 安卓设备的控制方法、装置、终端及存储介质
CN112601013A (zh) * 2020-12-09 2021-04-02 Oppo(重庆)智能科技有限公司 同步图像数据的方法、电子设备,以及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708458A (zh) * 2016-12-27 2017-05-24 东软集团股份有限公司 一种图像显示的方法及系统
CN107256188A (zh) * 2017-06-30 2017-10-17 百度在线网络技术(北京)有限公司 安卓设备的控制方法、装置、终端及存储介质
CN112601013A (zh) * 2020-12-09 2021-04-02 Oppo(重庆)智能科技有限公司 同步图像数据的方法、电子设备,以及计算机可读存储介质

Also Published As

Publication number Publication date
CN116204257B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
CN111917988B (zh) 一种云手机的远程摄像头应用方法、系统及介质
CN110895459B (zh) 信息处理系统、装置、方法以及存储介质
CN103092552A (zh) 一种实现多屏显示的方法及系统
CN111092898B (zh) 报文传输方法及相关设备
US8624989B2 (en) System and method for remotely performing image processing operations with a network server device
CN104023191A (zh) 一种基于Android的摄像投影系统及实现方法
EP3217596B1 (en) Communication terminal, communication system, and data transmission method
CN101500128A (zh) 在网络摄像装置终端显示图像上加载附加信息的方法及装置
CN104754310A (zh) 终端设备摄像头接入目标设备的方法和装置
CN103581695B (zh) 一种实现移动终端接入全球眼的系统和方法
CN116204257B (zh) 图像预览方法、装置、存储介质及计算机设备
EP3151481B1 (en) Communication terminal, communication system, and output method
TW201315234A (zh) 視頻監控系統及方法
WO2023071749A1 (zh) 参数调整方法、装置、存储介质及电子装置
CN104580289A (zh) 一种对用户设备进行控制的方法、装置和系统
CN116016902A (zh) 一种电视机顶盒远程监测系统、方法、设备及介质
CN103873890A (zh) 拍照软件的流量控制方法及系统
WO2022104638A1 (zh) 图传数据的处理方法、图传设备、终端设备及存储介质
CN107241199B (zh) 一种会议终端的图像处理方法及装置
CN113938457B (zh) 一种云手机应用远程摄像头的方法、系统和设备
US20240089414A1 (en) Electronic device, method for data transmission between the electronic device and another electronic device, and medium
CN116582638B (zh) 会议终端的管理方法、设备及计算机可读存储介质
EP2819012B1 (en) Automated compression of data
CN115861082B (zh) 一种低延时图片拼接系统及方法
CN114465990A (zh) 通信方法、系统、工作终端及网络摄像机

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant