JKになりたい

何か書きたいことを書きます。主にWeb方面の技術系記事が多いかも。

2016-09-01から1ヶ月間の記事一覧

プログラミング初心者が苦しみながら確実な基礎力を身につけるための技術書

確実な基礎力を身につけるために 初学者がいきなりサービス開発をはじめるのも良いと思う。 本をまずは見よう見まねで写経して、少しずつ理解を深めつつ、サンプルコードを改造して自分のサービスを作る。 それができたら一番いいと思うんだけど、そんな事で…

ハイブリッドOCR

これまでの流れを汲んでOCRかけるクラスを完成させるで。 まだまだ改良の余地はあるけど、いつまでもこんなことばっかりやってられへんから一旦これでOCRは完結や。 流れは 1)白紙のセル判定 ->白紙なら終了 2)文字の部分だけ切り取る 3)tesseractにかける 4…

再びtesseractでOCR

前回、高解像度の綺麗なデータを作る事ができたんや。 せやったらtesseract、結構いけるんちゃうか?って話やで。 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) 番号 解答 正負 (1) 持 ち 家 o (2) ー 0 3 1 113 x (3) ー 773 0 53 5 3 x (4) 5…

pdf->pngを変換を高画質に行いたい

初回あたりからずっと使ってる画質が粗いセルの画像やけど、そもそもpdf->png変換を高画質に出力できたらええんちゃうか?っていう話。 最初からこうしたらよかったんや、迷走しすぎやなあ。 さて、pdf->png変換を綺麗に行う為にはImageMagickを使うで。 con…

俺が求めてるボタンはTouchableHighlightじゃない

ReactNativeではボタンを作る時にTouchableHighlightを使う。 デフォルトでは押した時にunderlayColorで指定した色が背景に表示される。 こんな感じ。 おかしいやん。誰が求めてるの?テキストじゃなくて画像のボタンだったらいいんだけどね。 求めてるのはi…

ReactNative Flexboxまとめ(殴り書き)

React-Nativeを使ったアプリケーション開発にはFlexboxの理解が不可欠。 だから適当にまとめる。 flex flex:1 これで画面いっぱいにコンポーネントが表示される。 同じレベルにflex:1を指定しているコンポーネントが2個あったとしたら1:1の割合で表示される…

めっちゃ粗い画像の数字を認識したい-試行錯誤編-

この画像↓を鮮鋭化するために試行錯誤するで。粗いなあ・・5か6かわからんで・・。 知り合いの人に色々なフィルタリング方法を教えてもらったんや。それをほぼそのまま貼るで。 アンシャープマスキング k = 4.0 op = np.array([ [-k, -k, -k], [-k, 1 + 8 * …

Google Cloud Vision APIでOCRを試してみる

なんか前回か前々回か忘れたけど、日本語全然認識できひんかったから、Google様の力を借りるで・・。 毎月1000回以上のリクエストやったら無料や。 あ、正確には1000unitやな。例えば文字認識と物体認識を同時にやったら1リクエスト2unitsや。 1000unitsを超…

tesseractでOCR〜数字だけでも〜

前回全然日本語や数字認識ができなかったtesseract、せめて数字だけでも認識できひんか?と思って再チャレンジ。 前回はあまりに工夫がなさすぎた。 今回実験に使うセルはこれ。 pyocrのbuilderを変えてみる どうやら、数字だけの認識に対応したbuilderがあ…

PythonでOCRがんばる(1)

tesseractでOCR これ(https://github.com/tesseract-ocr/tesseract)を入れる Pythonで使いたいのでラッパーを入れる。 https://github.com/jflesch/pyocr 日本語に対応させるためにここ(https://github.com/tesseract-ocr/tessdata)からjapn.traineddata…

React-Reduxメモ

アクションの追加 定数でActionの種類を定義する。 ReducerはActionの種類を見てどのような状態を返すのかを決定する ActionはActionCreater経由で発行する。 connectを用いると自動的に適切なReducerにActionが渡される。 //sample_action.js //Actionの定…

よく使うExtension(2) UITableView カスタムセルの登録

extension UITableView { func registerCell<T: UITableViewCell>(type: T.Type) { let className = type.className let nib = UINib(nibName: className, bundle: nil) registerNib(nib, forCellReuseIdentifier: className) } func registerCells<T: UITableViewCell>(types: [T.Type]) { types.for</t:></t:>…

よく使うExtension(1) Array Safe

インデックスの範囲外にアクセスした場合に例外を起こさずにnilを返すExtension extension CollectionType { subscript (safe index: Index) -> Generator.Element? { return indices.contains(index) ? self[index] : nil } } let numbers = [1,2,3,4] numb…