2019年5月24日金曜日

PythonでOpenCVでのラベリング処理

PythonでOpenCVでのラベリング処理を行う場合は、下記のコード通りに行います。注意点は
  • 画像を2値化すること
  • ラベリング結果は画像によっては画像全体を抽出する場合がある
後者については、最大の面積を持つ領域を取り出したい場合に要注意です。



2019年5月22日水曜日

Python:マルチページTIFFを読み込んで1ページずつ処理する(imreadmulti利用)

PythonでマルチページTIFFを処理する方法。過去記事では、
  • OpenCVでは未対応
と書いていましたが、OpenCV3からはimreadmultiが使えるようなので、それでシンプルに解決です。戻り値は、読み取り成功か失敗かのboolと、イメージのリスト(matの配列)が返ってきます。


2019年2月25日月曜日

Python: pandasでCSVファイルを読み込む際の文字コードによる使い分け

CSV形式のファイルをpandasを利用して読み込む場合、Shift-JISの場合にうまくいかなかったのでそのメモ書きです。 UTF-8の場合はread_csvファイルを使えばいいですが、Shift-JISの場合は、codecsでopenしてからread_tableでdataFrameに変換しましょう。




2019年1月29日火曜日

Proxy環境下でDropboxをアップデートする方法

Proxyの環境下ではいろいろネットワークのポートが塞がれているため、意外なサービスが利用できなかったりします。Dropboxもその1つですが、DropboxはProxy設定ができるのでそれを設定しておけば、たいていの場合はうまくいくでしょう。
しかし、うまくいかないのがDropboxそのもののアップデートです。基本的に自動的にアップデートしてくれるはずなのですが、それがうまくいかないことがあります。

解決策:オフラインインストーラーをダウンロードする
Dropboxの通常のインストーラは、インストーラー自体が実際の最新ファイルをダウンロードしてアップデートを行います。このインストーラーにProxy設定はできないようです。そこで、 にアクセスしましょう。これを用いれば、問題なくアップデートをできるでしょう。

2019年1月22日火曜日

Azure Table Storageの使い方 ~テーブルへの接続~

Azure Table Storageとは
Azure Table Storageは、AWSでいうDynamoDBの位置づけのようです。料金的にも容量とアクセス数のみらしいので(誤解しているかもしれないが)、いろいろ考えた末、Azure Table StorageをラボのメインDBに変えていこうか、、という結論に至りました。

Azure Table Storageのセッティング
Azure Table Storageは、Azure Storageの機能の一つとなっています。セッティングは簡単です。ポイントだけ書いていきます。
  • AzurePortalサイトからStorageアカウントは作成しておく
  • テーブルは事前に作成しなくても良い
  • Storageアカウントのアクセスキーより、接続文字列を入手しておく

Visual Studio の設定
下記の2つのライブラリをNugetで明示的に取得しておく
  • WindowsAzure.Storage
  • Microsoft.WindowsAzure.ConfigurationManager
Nugetマネージャーを見てみると他のライブラリも登録されていましたが、これらに付随してインストールされた可能性あり。

サンプルコード
アカウント情報(アクセスキーなど)はコードに直接記述せず、App.configファイルに記述してプログラムにアクセスするのが基本です。下記のようにApp.configファイルに記述します。
<appSettings> <add key="StorageConnectionString" value="XXXXXXX" /> </appSettings>
XXXXXのところは、上記で取得した接続文字列をそのままコピペしてください。

下記のコードは、"SampleTable"というテーブルに接続している例です。



2019年1月7日月曜日

論文の図作成にはDrow.IOが良いみたいです

ラボでは、原則図などはパワポを使って作成するように指示してきました。これは、
  • 発表スライドとしてそのまま使える
  • パワポはまずこの世から無くなることはないだろう(データの持続性)
という狙いがあったからですが、ここ数年前からゼミ内では、Drow.IOというのが流行っているようで。。。個人的には、勝手に変なものを使われると困るなぁと思っていたのですが、意外とそうでもない?ことに気づきました。

Drow.IOの特徴と利点
個人的におすすめできる点は下記です。
フリーのやつって、急にサービスが終了されたりすることがありますが、これは、オープンソースで保守されているのでちょっと安心かな。頻繁に更新されているようですし。個人的に気に入ったのは、PDFに出力するときに、該当部分だけトリミングしてくれる、いわゆるcropの機能があることです。Tex用に画像を作るときは便利だと思います。

Drow.IOの欠点
Wordへの貼り付けには注意が必要です。PNG等の画像にして貼り付けると確実に画像が劣化します。おすすめは、PDF→emf(拡張メタファイル)と変換してからWordに貼り付けることです。pdfをemfに変換するには Inkscape などのアプリを利用しましょう。こういった手間がかかるのが欠点といえますね。