推 soheadsome: 感覺是因為.rgba()會回傳某東西的參考 12/09 23:57
→ soheadsome: 參考的東西在更新 你拿到的東西也會更新 12/09 23:58
※ 編輯: ab790815 (111.255.185.226), 12/10/2015 00:08:26
→ ab790815: inputFrame.rgba()會變成Mat格式 rgba()只是以彩色輸出 12/10 00:11
→ ab790815: 另外還有.gray() 以灰階輸出 12/10 00:12
推 VSei: 設一個條件只存第三張影像然後show出來,其他不要,試試看。 12/10 08:16
→ VSei: stream是很多張單張影像連續撥放(經由buffer),跟stream無關 12/10 08:19
→ VSei: 函數已經return單張的image出來,要留住它需複製一份另外放 12/10 08:23
→ VSei: 這個我做過,沒程式碼沒辦法幫忙更多,加油 12/10 08:43
→ ab790815: 我測試的方式是 12/10 09:01
→ ab790815: 宣告一個全域 Mat 跟用來計數的全域int 12/10 09:02
→ ab790815: 計數器加在這個funtion裡面 12/10 09:02
→ ab790815: 每run一次就++ 12/10 09:02
→ ab790815: 我設條件 12/10 09:02
→ ab790815: 計數器等於1的時候將第1幀影像存到 Mat 12/10 09:03
→ ab790815: 然後把這個影像輸出到畫面 12/10 09:03
→ ab790815: 理論上只會存一張影像 12/10 09:03
→ ab790815: 且輸出的畫面是不會動的 12/10 09:03
→ ab790815: 但結果是畫面還是會跟著鏡頭動 12/10 09:03
→ ab790815: 我參考這個網站做的東西 12/10 09:13
→ ab790815: 可是我取得的基底背景會不斷被更新 12/10 09:14
→ ab790815: 以至於會跟後面抓的影像一模一樣 12/10 09:15
→ VSei: 如果可以的話請您將程式碼張貼網站,方便大家幫忙debug 12/10 10:27
→ VSei: 如果不方便請用ptt私信code,也許比較能幫忙,謝謝。 12/10 10:28
推 z0furu: 請問樓主的範例是去哪看的?最近也有這個需求需要研究 12/10 13:13
→ ab790815: To VSei:我找到解決辦法了,但原本的問題原因還是無解。 12/10 21:56
→ ab790815: 因為程式碼被我改來改去,我正在還原原本錯誤的程式 12/10 21:57
→ ab790815: 等我改好再跟你討論 感謝!! 12/10 21:58
→ ab790815: To z0furu : 我參考的是OpenCV官方4android的範例 12/10 22:00
→ ab790815: 他第一個範例只是介紹怎麼用Camera而已 12/10 22:01
→ ab790815: 不知道您的需求是怎樣的功能? 12/10 22:01
→ ab790815: 這是我節錄比較重點部分的code 12/10 23:30
→ ab790815: 我希望印出一個不會動的影像,但結果是影像會一直被更新 12/10 23:42
→ chenhaoftk: Camera=inputFrame.gray().clone()? 12/11 00:29
→ ab790815: .clone() 好像只是複製框架,並沒有複製內容的樣子。 12/11 00:53
推 VSei: 嗯,做出來了,code你參考看看。 12/11 14:39
→ VSei: 做一個menu(或button也可以),去觸發count 12/11 14:43
→ VSei: 畫面上開一個txtview去看count是否有正確運作 12/11 14:44
→ VSei: 再弄一個ImageView先顯示一張圖,count觸發條件時,改變影像 12/11 14:46
→ VSei: 就會知道camera是否有抓到值可以回傳或是沒抓到 12/11 14:47
→ VSei: JavaCameraView會一直抓inputFrame.rgba() 12/11 14:50
→ VSei: 顯示單張圖在ImageView可能在BaseLoaderCallback沒執行作用 12/11 14:52
→ VSei: OpenCVLoader.initAsync不需要一直load,初始化 12/11 15:00
推 Cycylno: 之前有碰過一點OpenCV,它的Mat基本上都是用參考的方式 12/11 19:22
推 Cycylno: 所以你的影像才會一直連動。 12/11 19:27
→ Cycylno: 看官方的documentation是說.clone()會複製出一份新的, 12/11 19:29
→ Cycylno: 可是實際使用OpenCV4Android就是跟C++版不一樣... 12/11 19:30
→ Cycylno: 感覺為了要在Android上運行,他們硬幹了很多東西... 12/11 19:32
推 VSei: private Mat once = new Mat(); --> create一個新區域去放 12/11 22:01