導航:首頁 > 程序命令 > 程序員可以嵌入攝像頭嗎

程序員可以嵌入攝像頭嗎

發布時間:2022-06-08 03:31:13

⑴ 在jsp中嵌入照相程序,就是使用調用攝像頭採集照片保存,有沒有這程序插件,或者程序代碼

這個需求蠻酷的 不過感覺用C做起來去實現會比較容易 java的話感覺有點雞肋 畢竟涉及到硬體的平台了

我突然想到了用Java的runtime。。沒准可以實現。

⑵ Java嵌入式包括攝像頭嗎

ava嵌入式包括攝像頭的。
嵌入式開發一般是關於硬體底層開發,比如驅動開發。

java是運行於JVM虛擬機之上的,如果沒有JVM java是運行不起來,JVM又需要操作系統的支持。
java不能直接和硬體打交道,不算嵌入式開發語言。
C語言屬於嵌入式開發語言,它能夠直接操作寄存器,可以直接和硬體打交道。

⑶ 一台電腦能不能調用另一台電腦的攝像頭

方法有很多
1. 在筆記本上開啟遠程桌面連接·
然後台式電腦用遠程桌面連接筆記本·
2.下載一個灰鴿子軟體。
台式電腦用客戶端把生成文件發送到筆記本上
3.QQ遠程可以打開
4.
在另一台電腦上右鍵點擊攝像頭
選擇共享,設置一個共享名。
可以選擇設置密碼或者不設置密碼。
在另一個本區域網電腦上的網上鄰居里找到這個電腦。
直接或者憑密碼訪問攝像頭即可。

程序員的工作保密性怎樣,上班不能帶有攝像頭的手機嗎

摘要 如果你的工作是公司的核心位置,一般會讓你簽保密協議,至於手機也要看公司的具體要求。

⑸ 攝像頭瀏覽器中打開,不需要載入插件,且不限定瀏覽器種類!

從我們目前所做的工程來說,一般ie分控客戶端一般只有兩種選擇:
一,打開ie時提示載入控制項後才能登陸瀏覽,
二,給客戶提供封包的exe程序提醒客戶安裝,
所以,你們最好是將控制項打包成exe文件供客戶安裝最方便,順便在web做文字性的引導和下載鏈接也能解決一時的問題,至於降低瀏覽器才能安裝控制項,那就是程序員的問題了,不好意思無法解答您!

⑹ java遠程訪問攝像頭怎麼實現

OpenOffice java api:

簡單的說就是利用java程序可以操作OpenOffice的所有功能,比如創建doc文檔,插入文字,設置文字格式等等。

1. OpenOffice 給程序員提供了一個叫UNO (UniversalNetwork Objects)的組件技術.我理解的UNO: OpenOffice 類似於web程序中的伺服器,程序員寫的代碼類似於客戶端,利用UNO提供的介面和服務去完成對OpenOffice文檔的操作。所以寫程序首先要搭建 UNO環境:

1. 下載 OpenOffice

2.復制UNO提供的jar包: unoil.jar, java_uno.jar, juh.jar, jurt.jar, ridl.jar, unoloader.jar. (ps: 安裝了SDK之後在文件夾找)到自己的工程中,引入它們。

3. 下載文檔:DevelopersGuide.pdf.

4. 安裝了SDK後,重新啟動一下機器,然後就可以按照 DevelopersGuide 來學習 UNO 編程了。

5. 需要ava 環境。

補充: 安裝了SDK後, java, c++幫助文檔,樣常式序,其他關於sdk的信息 都放在本地openOffice安裝路徑一個叫sdk目錄下面,enjoy it !

總結一下已經實現的功能和碰到的問題匯總:

1. 首先要得到遠程office組件的上下文.通過:

com.sun.star.uno.XComponentContext xContext = com.sun.star.comp.helper.Bootstrap.bootstrap();

得到,如果OpenOffice安裝路徑不是在工程的路徑下面(我自己猜的), 就會報:

com.sun.star.comp.helper.BootstrapException: no office executable found!

解決辦法: 黑其源代碼, 看了源代碼就會發現其實OpenOffice是在尋找本地的soffice的shell文件,所以弄個變數來保存soffice在系統中的路徑,重新寫一 個Bootstrap就可以了。詳細請參照:論壇 。

2. 得到 XMultiComponentFactory (ComponentFactory 工廠)

com.sun.star.lang.XMultiComponentFactory xMCF = xContext.getServiceManager();

3. 得到各種組件可以通過下面代碼:

// docType 是 與 soffice 同目錄下面的OpenOffice的其他shell文件,swrite等等

protected XComponent newDocComponent(String docType)
throws java.lang.Exception {
String loadUrl = "private:factory/" + docType;

mxRemoteServiceManager = this.getRemoteServiceManager();
Object desktop = mxRemoteServiceManager.createInstanceWithContext(
"com.sun.star.frame.Desktop", mxRemoteContext);

XComponentLoader xComponentLoader = (XComponentLoader) UnoRuntime
.queryInterface(XComponentLoader.class, desktop);
PropertyValue[] loadProps = new PropertyValue[0];

return xComponentLoader.loadComponentFromURL(loadUrl, "_blank", 0,
loadProps);
}

4.得到 XTextDocument

XComponent xEmptyWriterComponent = newDocComponent("swriter");

XTextDocument mxDoc = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class,
xEmptyWriterComponent);

5. 得到一個文檔的引用

XText mxDocText = mxDoc.getText();

6. 得到文檔的屬性列表

XPropertySet mxDocProps = (XPropertySet) UnoRuntime.queryInterface(
XPropertySet.class, mxDoc);

7. 建立游標,用來插入新的內容。

XTextCursor mxDocCursor = mxDocText.createTextCursor();

XSentenceCursor xSentenceCursor = (XSentenceCursor) UnoRuntime
.queryInterface(XSentenceCursor.class, mxDocCursor);

XWordCursor xWordCursor = (XWordCursor) UnoRuntime.queryInterface(
XWordCursor.class, mxDocCursor);

8.得到游標屬性列表

XPropertySet xCursorProps = (XPropertySet) UnoRuntime .queryInterface(XPropertySet.class, mxDocCursor);

9.設置插入文字格式

xCursorProps.setPropertyValue("CharFontName", "宋體");
xCursorProps.setPropertyValue("CharWeight", new Float(FontWeight.BOLD));
xCursorProps.setPropertyValue("CharHeight", new Float(10.5));
// 居中顯示
xCursorProps.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.CENTER);

10.在該游標處插入信息

mxDocText.insertString(xSentenceCursor, 「Hello World", true);

11. 保存的關鍵代碼

protected void storeDocComponent(XComponent xDoc, String storeUrl)
throws java.lang.Exception {

XStorable xStorable = (XStorable) UnoRuntime.queryInterface(
XStorable.class, xDoc);
PropertyValue[] storeProps = new PropertyValue[1];
storeProps[0] = new PropertyValue();
storeProps[0].Name = "FilterName";
storeProps[0].Value = "MS Word 97";

openOfficeJavaLogger.debug("... store \"" + xDoc.toString() + "\" to \"" + storeUrl
+ "\".");

xStorable.storeAsURL(storeUrl, storeProps);
}

⑺ 程序員的工作保密性怎樣,上班不能帶有攝像頭的手機嗎

有些公司不讓帶手機進入,比如華為。
大部公司沒有禁止。

⑻ 如何實現嵌入式linux下USB攝像頭視頻採集

在linux下所有設備都是文件。所以對攝像頭的操作其實就是對文件的操作。USB攝像頭的設備文件就是在/dev目錄下的video0(假如只有一個攝像頭)。在linux下操作攝像頭就是使用v4l2對攝像頭進行視頻的操作,操作步驟如下

1. 打開設備文件。

int fd=open(」/dev/video0″,O_RDWR);

2. 取得設備的capability,看看設備具有什麼功能,比如是否具有視頻輸入,或者音頻輸入輸出等。VIDIOC_QUERYCAP,struct v4l2_capability

v4l2_std_idstd;
do{
ret=ioctl(fd,VIDIOC_QUERYSTD,&std);
}while(ret==-1&&errno==EAGAIN);
switch(std){
caseV4L2_STD_NTSC:
//……
caseV4L2_STD_PAL:
//……
}

3. 選擇視頻輸入,一個視頻設備可以有多個視頻輸入。VIDIOC_S_INPUT,struct v4l2_input(可不要)

4. 設置視頻的制式和幀格式,制式包括PAL,NTSC,幀的格式個包括寬度和高度等。

VIDIOC_S_STD,VIDIOC_S_FMT,struct v4l2_std_id,struct v4l2_format

structv4l2_formatfmt;
memset(&fmt,0,sizeof(fmt));
fmt.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width=320;
fmt.fmt.pix.height=240;
fmt.fmt.pix.pixelformat=V4L2_PIX_FMT_JPEG;
if(ioctl(fd,VIDIOC_S_FMT,&fmt)<0)
{
printf("setformatfailed ");
//return0;
}

5. 向驅動申請幀緩沖,一般不超過5個。struct v4l2_requestbuffers

structv4l2_requestbuffersreq;
memset(&req,0,sizeof(req));
req.count=4;
req.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;
req.memory=V4L2_MEMORY_MMAP;
if(ioctl(fd,VIDIOC_REQBUFS,&req)==-1)
{
perror("VIDIOC_REQBUFSerror ");
//return-1;
}

6.申請物理內存

將申請到的幀緩沖映射到用戶空間,這樣就可以直接操作採集到的幀了,而不必去復制。將申請到的幀緩沖全部入隊列,以便存放採集到的數據.VIDIOC_QBUF,struct v4l2_buffer

VideoBuffer*buffers=calloc(req.count,sizeof(VideoBuffer));
printf("sizeof(VideoBuffer)is%d ",sizeof(VideoBuffer));
structv4l2_bufferbuf;
for(numBufs=0;numBufs<req.count;numBufs++)
{
memset(&buf,0,sizeof(buf));
buf.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory=V4L2_MEMORY_MMAP;
buf.index=numBufs;
if(ioctl(fd,VIDIOC_QUERYBUF,&buf)<0)
{
printf("VIDIOC_QUERYBUFerror ");
//return-1;
}
printf("buflenis%d ",sizeof(buf));
//內存映射
buffers[numBufs].length=buf.length;
buffers[numBufs].offset=(size_t)buf.m.offset;
buffers[numBufs].start=mmap(NULL,buf.length,PROT_READ|PROT_WRITE,MAP_SHARED,fd,buf.m.offset);
printf("buffers.length=%d,buffers.offset=%d,buffers.start[0]=%d ",buffers[numBufs].length,buffers[numBufs].offset,buffers[numBufs].start[0]);
printf("buf2lenis%d ",sizeof(buffers[numBufs].start));
if(buffers[numBufs].start==MAP_FAILED)
{
perror("bufferserror ");
//return-1;
}
if(ioctl(fd,VIDIOC_QBUF,&buf)<0)
{
printf("VIDIOC_QBUFerror ");
//return-1;
}
}

7. 開始視頻的採集。

enumv4l2_buf_typetype;
type=V4L2_BUF_TYPE_VIDEO_CAPTURE;
if(ioctl(fd,VIDIOC_STREAMON,&type)<0)
{
printf("VIDIOC_STREAMONerror ");
//return-1;
}

8. 出隊列以取得已採集數據的幀緩沖,取得原始採集數據。VIDIOC_DQBUF, 將緩沖重新入隊列尾,這樣可以循環採集。VIDIOC_QBUF

if(ioctl(fd,VIDIOC_DQBUF,&buf)<0)
{
perror("VIDIOC_DQBUFfailed. ");
//return-1;
}
buf.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory=V4L2_MEMORY_MMAP;
unsignedchar*ptcur=buffers[numBufs].start;
DEBUG("buf.bytesused=%d ",buf.bytesused);
inti1;
for(i1=0;i1<buf.bytesused;i1++)
{
if((buffers[numBufs].start[i1]==0x000000FF)&&(buffers[numBufs].start[i1+1]==0x000000C4))
{
DEBUG("huffmantablefinded! buf.bytesused=%d FFC4=%d ",buf.bytesused,i1);
break;
}
}
if(i1==buf.bytesused)printf("huffmantabledon'texist! ");
inti;
for(i=0;i<buf.bytesused;i++)
{
if((buffers[numBufs].start[i]==0x000000FF)&&(buffers[numBufs].start[i+1]==0x000000D8))break;
ptcur++;
}
DEBUG("i=%d,FF=%02x,D8=%02x ",i,buffers[numBufs].start[i],buffers[numBufs].start[i+1]);
intimagesize=buf.bytesused-i;
DEBUG("buf.bytesused=%d ",buf.bytesused);
DEBUG("imagesize=%d ",imagesize);

9. 停止視頻的採集。VIDIOC_STREAMOFF

10. 關閉視頻設備。close(fd);

⑼ 高手進 VB 支持 UVC攝像頭嗎

vb並不直接兼容uvc攝像頭。
Visual Basic(簡稱VB)是Microsoft公司開發的一種通用的基於對象的程序設計語言,為結構化的、模塊化的、面向對象的、包含協助開發環境的事件驅動為機制的可視化程序設計語言。是一種可用於微軟自家產品開發的語言。「Visual」 指的是開發圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預先建立的對象add到屏幕上的一點即可。 「Basic」指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計算技術發展歷史上應用得最為廣泛的語言。

Visual Basic源自於BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接資料庫,或者輕松的創建Active X控制項,用於高效生成類型安全和面向對象的應用程序。程序員可以輕松的使用VB提供的組件快速建立一個應用程序。
UVC全稱為USB Video Class,即:USB視頻類,是一種為USB視頻捕獲設備定義的協議標准。是Microsoft與另外幾家設備廠商聯合推出的為USB視頻捕獲設備定義的協議標准,已成為USB org標准之一。
如今的主流操作系統(如Windows XP SP2 and later, Linux 2.4.6 and later, MacOS 10.5 and later)都已提供UVC設備驅動,因此符合UVC規格的硬體設備在不需要安裝任何的驅動程序下即可在主機中正常使用。使用UVC技術的包括攝像頭、數碼相機、類比影像轉換器、電視棒及靜態影像相機等設備。

⑽ 程序員工作保密性很高嗎,上班不能帶有攝像頭的手機

如果你的工作是公司的核心位置,一般會讓你簽保密協議,至於手機也要看公司的具體要求。

閱讀全文

與程序員可以嵌入攝像頭嗎相關的資料

熱點內容
java手動釋放內存 瀏覽:867
迷你世界怎麼自己創伺服器 瀏覽:810
cmd命令不能運行 瀏覽:297
最新pdf閱讀 瀏覽:755
c語言中的排序演算法 瀏覽:596
php原生鏈接資料庫 瀏覽:44
web前端後端程序員 瀏覽:24
萬能zip的壓縮包怎麼解壓 瀏覽:40
國內動漫用什麼app看 瀏覽:353
樹莓派高級編程 瀏覽:928
30歲學編程晚嗎 瀏覽:68
解壓專家怎麼打開 瀏覽:86
php開源留言板 瀏覽:49
新鄉市區疫情怎麼查詢app 瀏覽:158
我的世界伺服器怎麼弄圖 瀏覽:999
vc6的編譯框 瀏覽:198
程序員寫照 瀏覽:539
怎麼退出github伺服器版本 瀏覽:797
雲伺服器sip 瀏覽:910
對稱平衡型壓縮機 瀏覽:953