###Android的drawable的state設定值###
通常我們會用Drawable的Xml來做一些顏色的設定變化
也會利用state來做狀態的判斷

在我使用的經驗下
系統會直接尋找第一個符合的狀態
而每個狀態都只有true跟flase兩種判斷

因此如果你要用到三種狀態判斷的情況下
就要同時用到兩個狀態去比對
也就是會變成四種狀態

譬如說:

android:state_activated="true"
android:state_pressed="false"

這兩種狀態就有需要去補足剩下三種情況的組合
因為前面說過系統會直接尋找第一個符合的狀態
所以如果直接用

android:state_pressed="false"

就會導致系統直接套用這個情況
必須要小心使用才行

留言與分享

Java泛型的PECS原則

分類 JAVA

##什麼是PECS##
生产者(Producer)使用extends
消费者(Consumer)使用super
兩句話就可以很好的解釋

##JAVA##
PECS原则
(Producer Extends)
如果要从集合中读取类型T的数据,并且不能写入,可以使用 ? extends 通配符
(Consumer Super)
如果要从集合中写入类型T的数据,并且不需要读取,可以使用 ? super 通配符

如果既要存又要取,那么就不要使用任何通配符。

留言與分享

LibGDX初次使用

分類 遊戲製作

這次利用LibGDX來製作遊戲
點連結可以直接去官網下載製作架構的生產器
這是一個跨平台的遊戲框架

基礎是用LWJGL來架構的框架
如果你想用JAVA來寫遊戲可以直接用LWJGL來寫
它幫你封裝好以下四大類

  • GLFW
  • OpenGL
  • OpenCL
  • OpenAL
    可以直接用JAVA來編譯不需要用C/C++來寫遊戲

LibGDX則是再進一步封裝好各平台的一個框架
一開始我只打算先用Android來寫
目前是用Firebase來試做一款多人連線遊戲
一開始還在想要用什麼來當伺服器
還有去研究過Kryonet

本來打算自己架一台JAVA伺服器的後來覺得可能會遇到非固定IP等等問題所以還是放棄以後再研究
還是乖乖使用Firebase吧


過程中我一直在想怎麼利用Firebase來做多人連線
畢竟他主要是支援Android但是LibGDX生出來的架構
主要邏輯在core裡面

後來找到一篇文章
才覺得自己蠢,其實就像他說的只要把reference傳過去就好
真的是第一次接觸都忘記了

看來一直寫Android也不是很好
還是要多接觸一點不一樣的東西才行啊

留言與分享

OpenCV相關

分類 OpenCV

什麼是OpenCV

OpenCV(Open Source Computer Vision Library)是一個集合數百種演算法的跨平台電腦視覺庫。只要是針對影像做辨識、操作、分析等,不管是要做人臉辨識、物件辨識、車牌辨識、人形偵測、物件追蹤、影像壓縮、影像加密等各種影像處理,OpenCV確實是一個很好的輔助工具,目前已經可以在Windows、Linux、iOS及Android平台上使用,支援的程式語言有C/C++、Java、Python、Matlab、Ruby及C#等,已經是大部分影像處理使用者必備的涵式庫了。

模組 (Module)

####Main

  • core. 基本資料結構的緊湊模組,包含操作影像像素及1.0與2.0版本格式交換
  • imgproc. 影像處理模組,包含線性與非線性的影像濾波器及幾何影像的轉換(影像縮放翻轉、色彩空間轉換和直方圖操作等)
  • imgcodecs. 影像格式編碼、解碼及影像存取
  • videoio. 攝影機操作
  • highgui. 提供簡易的視窗介面及鍵盤與滑鼠操作
  • video. 物件追蹤、背景相減及移動方向預估等
  • calib3d. 多視角幾何演算法,影像校正、3D物件重建及姿態估測等
  • features2d. 特徵擷取及特徵描述
  • objdetect. 物件偵測,如人臉偵測、眼睛偵測、嘴巴偵測、鼻子偵測及身形偵測等
  • ml. 機器學習演算法,如KNN、貝式機率分類器、SVM等
  • flann. 實現FLANN演算法
  • photo. 影像去雜訊、HDR
  • stitching. 影像合成相關技術
  • cudaarithm. 使用CUDA資料結構操作
  • cudabgsegm. 使用CUDA的背景相減MOG
  • cudacodec. 使用CUDA的影片存取讀取
  • cudafeatures2d. 使用CUDA實現部分特徵擷取技術

####Extra

  • aruco. ArUco Marker Detection
  • bgsegm. Improved Background-Foreground Segmentation Methods
  • bioinspired. Biologically inspired vision models and derivated tools
  • ccalib. Custom Calibration Pattern for 3D reconstruction
  • cvv. GUI for Interactive Visual Debugging of Computer Vision Programs
  • datasets. Framework for working with different datasets
  • dnn. Deep Neural Network module
  • dpm. Deformable Part-based Models
  • face. Face Recognition
  • fuzzy. Image processing based on fuzzy mathematics

Android使用

Android可以直接去這裡下載來使用
JAVA純JAVA版本就可以引用這個庫來使用

使用心得與想法當然也是等到我真的有想做外掛的時候再分享囉
其實會紀錄這幾個有外掛的標籤都是當初朋友想叫我寫一個Android上面可以用的外掛APP

所以才去研究的不過研究到一個程度發現幾乎還是用ROOT手機才可以對Android環境直接下Shell指令才能做一些動作

留言與分享

Sikuli相關技術

分類 Sikuli

什麼是Sikuli

Sikuli 是一種可視化技術,
它可以用來自動化的在一個圖形用戶界面(GUI)上進行操作和測試。
而Sikuli腳本就是實現這一過程的一種腳本語言。

它通過截圖來識別需要操作的圖形界面組件
再通 Jython 來完成操作動作從而實現自動化的操作(或者測試).
說得簡單一點
Sikuli就是能通過截圖幫助我們自動操作電腦的一種便利的方式。

可以進入他的官網看他的介紹

使用有一個GUI介面可以方便你使用
而且是圖形化介面來編寫語言非常的簡單
可以利用圖形來寫程式

至於Android上如果要使用的話
就要另外再研究了
不過GitHub上有一個lib可以搜尋來試試看
至於要用這套寫出一個APP就要再研究了

留言與分享

Android OCR技術記錄

分類 OCR

什麼是OCR

OCR(全稱Optical Character Recognition),正式翻譯名為「光學字元識別」
講簡單點,它是可以辨識圖像上的文字,將之轉換為電子文字訊息

##工具
tesseract是非常有名的開源OCR工具
Android版本則是要用tess-two
Android要用就很簡單

1
2
3
dependencies {
compile 'com.rmtheis:tess-two:6.0.4'
}

即可下載部署到你的專案了
不過你還需要再下載語言包
不需要全部下載,只要挑選你需要的語言就好了

至於開發重點與地雷就等之後再分享心得了

留言與分享

Hexo相關記錄

分類 Hexo

快速部署發布

1
hexo d -g

預覽

1
hexo s

建立一篇新的文章。如果沒有設定 layout 的話,則會使用 _config.yml 中的 default_layout 設定代替。如果標題包含空格的話,請使用引號括起來。

1
hexo new [layout] <title>

刪除步驟如下

至 \source_posts 底下找到要刪除的文章,並刪除
在 Hexo 的 Node Cmd 中執行

1
hexo clean

刪掉根目錄下的 db.json

在 Hexo 的 Node Cmd 中執行

1
hexo g

在 Hexo 的 Node Cmd 中執行

1
hexo d

文章標籤
title: 標題
date: 時間自動產生
categories: 分類
tags: [tags,tags,tags]

https://hexo.io/zh-tw/docs/tag-plugins.html

留言與分享

  • 第 1 頁 共 1 頁

ThaiWu

author.bio


author.job