2020年7月11日 星期六

C# WebRequest 連接 https 發生 SSL 錯誤

這個問題在 .Net 4.5 以前無法自動切換至 SSL, 問題在於憑證的驗證, 網路上有許多做法, 不過現在最簡單的方法, 就是改成 .Net 4.6以上的版本就可以了,  預設使用 TLS1.2, 如果網站 TLS 版本不符, 用 ServicePointManager 指定版本就好

https://docs.microsoft.com/zh-tw/dotnet/framework/network-programming/tls

2020年7月8日 星期三

設定Windows排程器執行powershell script




在Windows排程器中編輯動作:

程式或指令碼: powershell
新增引數: -ExecutionPolicy Bypass -File "C:\RmtRuntime\rmt_zip_daily.ps1"




這裡必須指定 -ExecutionPolicy Bypass 才可執行

以下為 rmt_zip_daily.ps1 的內容
--------------------------------------------
#REQUIRES -Version 2

$ZipDate = [DateTime]::Today.AddDays(-1).ToString("yyyy-MM-dd")

$SourceFile = "D:\TempRMT\Source2020\$ZipDate.zip"
if (Test-Path $SourceFile) {
  Remove-Item $SourceFile
}
7z a $SourceFile  "E:\RMT Processing\Source\$ZipDate"
copy $SourceFile  "\\NAS01\Temp\Backup\Google\RMT Processing\Source2020\$ZipDate.zip"



$Source20sFile = "D:\TempRMT\Source2020-20s\$ZipDate.zip"
if (Test-Path $Source20sFile) {
  Remove-Item $Source20sFile
}
7z a $Source20sFile "E:\RMT Processing\Source20s\$ZipDate"
copy $Source20sFile "\\NAS01\Temp\Backup\Google\RMT Processing\Source2020-20s\$ZipDate.zip"

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找, 沒有再去查詢.