–> {“MEMORY:(メモ文字列)
NAME1:(姓名)
NAME2:(姓名読み)
TEL1:(電話番号1)
MAIL1:(メールアドレス1)
TEL2:(電話番号2)
MAIL2:(メールアドレス2)
MECARD:N:(姓),(名);SOUND:(姓読み),(名読み);TEL:(電話番号1);TEL:(電話番号2);EMAIL:(メールアドレス1);EMAIL:(メールアドレス2);NOTE:(メモ文字列) ;;”}
AppleScript名:指定写真をQRコード認識してエンコードされたデータをデコード |
use AppleScript version "2.4" use framework "Foundation" use framework "QuartzCore" use scripting additions –画像選択 set inputFile to choose file of type {"public.image"} –QRコード検出 set recogRes to qrcodeDetect(inputFile) of me –> (* {"http://www.su-gomori.com \nMEBKM:TITLE:スゴモリ;URL:http¥://www.su-gomori.com;;"} *) on qrcodeDetect(inputFile) –画像オープン set imageRef to openImageFile(inputFile) — 検出器のオプションを NSDictonary で作成 set optDic1 to current application’s NSDictionary’s dictionaryWithObject:(current application’s CIDetectorAccuracyHigh) forKey:(current application’s CIDetectorAccuracy) set faceDetector to current application’s CIDetector’s detectorOfType:(current application’s CIDetectorTypeQRCode) context:(missing value) options:optDic1 — QRコードの検出を行う際のオプションを NSDictonary で作成 set optDic2 to current application’s NSDictionary’s dictionaryWithObject:(current application’s CIDetectorImageOrientation) forKey:"Orientation" — QRコード検出を実行 set faceArray to faceDetector’s featuresInImage:imageRef options:optDic2 set fList to {} — 検出されたQRコードの位置とサイズをログに出力 repeat with i from 1 to (count of faceArray) set face to item i of faceArray set bRec to (face’s messageString()) as string –set cRec to retURLdecodedStrings(bRec) of me –URLエンコード対策 set the end of fList to bRec end repeat return fList end qrcodeDetect on openImageFile(imageFile) — imageFile: POSIX path 形式のファイルパス — aliasをURLに変換 set fileURL to current application’s |NSURL|’s fileURLWithPath:(POSIX path of imageFile) — CIImage を生成 return current application’s CIImage’s alloc()’s initWithContentsOfURL:fileURL end openImageFile on retURLencodedStrings(aText) set aStr to current application’s NSString’s stringWithString:aText set encodedStr to aStr’s stringByAddingPercentEncodingWithAllowedCharacters:(current application’s NSCharacterSet’s alphanumericCharacterSet()) return encodedStr as text end retURLencodedStrings on retURLdecodedStrings(aURLencodedStr) set aStr to current application’s NSString’s stringWithString:aURLencodedStr set aDecoded to aStr’s stringByRemovingPercentEncoding() return aDecoded as text end retURLdecodedStrings |
More from my site
(Visited 75 times, 1 visits today)
クリップボードに入れられた画像をNSImageに変換して1Dバーコード認識 – AppleScriptの穴 says:
[…] 素材をチェックするような用途を想定しています(実際、やっているので)。QRコード画像をデコードするScriptは用意していたものの、1D Bar Code画像をデコードするものを用意していなか […]