2020年6月28日 星期日

[tensorflow] 在v2下使用v1

tenserflow 2版之後有許多功能已經跟 v1不相容, 幸好 v2 包含了 v1 的方法, 只是改了類別名稱, 如果原有 v1 的程式碼想要在 v2 環境使用, 只要照以下 import 方式就可以繼續使用原 v1 程式碼:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior() 

2020年6月16日 星期二

2020年4月13日 星期一

[python] 咖啡豆去背

咖啡豆辨識, 先設計打光場景, 背景用單色, 先用HSV色彩過濾得到一個初步遮罩, 再用 morphology處理遮罩, 把遮罩內的洞補起來, 並且縮小邊緣, 以獲得完全不含背景色的圖片

import cv2
import numpy as np

pic = 'pic/b2.jpg'
img=cv2.imread(pic,cv2.IMREAD_COLOR)

hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
lower_coffee = np.array([0,0,0])
upper_coffee = np.array([60,255,180])

mask = cv2.inRange(hsv, lower_coffee, upper_coffee)
kernel1 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(13,13))
kernel2 = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(15,15))
   
#mask = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel)
mask = cv2.dilate(mask ,kernel1)
mask = cv2.erode(mask, kernel2)

out = cv2.bitwise_and(img, img, mask= mask)

cv2.imshow("img",img)
cv2.imshow('mask',mask)
cv2.imshow("out",out)

cv2.waitKey(0)
cv2.destroyAllWindows()


原始圖:















遮罩:















結果:





2020年3月10日 星期二

[python] google map API

最近熱門的藥局領口罩, 有公開的CSV可以下載, 用python簡單就可抓取了, 觀察了一下資料,更新速度還蠻快的, 但是有住址而無GPS座標, 如果要用地圖, 需要一個轉換, 一次轉換那麼多點要花很多錢, 最好是用cache的方式, 有抓到就先存起來, 要查詢時先去cache找, 沒有再去查詢.

2020年3月5日 星期四

使用 Synology 下載證交所交易資料

在前一篇安裝 pip3 後, 即可 ssh 進入來執行 python 程式. 本篇使用 python 來下載證交所資料, 先安裝 package 供未來使用:

# pip3 install lxml pymysql httplib2 wget pandas requests html5lib

以下是程式碼

[Synology] 安裝 pip3

為了將 NAS 直接當成 IOT 主機, 除了安裝 Serial Driver, 若要用 python 進行資料分析, 需要安裝其他 package, 但 Synology NAS 目前無法在終端機下直接呼叫 pip 來進行安裝. 參考這篇的內容, 提到啟用虛擬環境後, 即可使用 pip, 經測試發現此方法雖然可用, 卻無法使用排程來啟動執行python程式. 此篇後段提到使用 curl 來安裝 pip3, 此方法方可排程使用.

2020年2月28日 星期五

[Synology] 第三方套件開發之環境設定

最近發現 NAS 也有個類似 App Market 的東西,找到原廠開發文件,打算用手上這台 DS918+ 來試試,這篇先做個紀錄。