2018年2月22日木曜日

Pythonを使用してRaspbian上に画像を表示

C/C++などの言語を勉強する際、最初に"Hello World!"表示が出てくると思います。流石にここまで戻って、始めたくないので画像ファイルをGUI上に表示させてみようと思います

ちなみに"Hello World!"表示は、以下で出来ます

print ('Hello World!')

画像表示になりますので、画像ファイルを開いて、GUI上のウィンドウにそれを表示すると言う感じになります。ま、お試しなのでOpenCVを使用してみようかと...

OpenCVを使用する場合、numpyとcv2をインポートします。これで、OpenCVの関数(下記記述のcv2.****)が使用できます

記述したコード:

import numpy as np
import cv2

def main():
    tst_display()
    return

## 画像ファイルの読み込みと表示
def tst_display():
    # 画像ファイルの読み込み
    img = cv2.imread('img/test.png',1)

    # 画像表示
    cv2.imshow('image',img)

    # キー入力があった場合、全てのウィンドウを閉じる
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    return

### 実行
if __name__ == "__main__":
    main()


tst_display()内で記述した下記で、test.pngをカラーモード(引数:1)で開きます。ちなみに引数を0にした場合は、グレースケールになります

img = cv2.imread('img/test.png',1)

上記で開いたファイルを。コマンドの第1引数で設定した名前(このファイルでは、image)のウィンドウで画像ファイルを表示します

cv2.imshow('image',img)

画像ファイルを表示したimageウィンドウは、何かしらのキーが入力されるまで表示し続けます(引数で設定した0は、無制限になります)

cv2.waitKey(0)

キーが入力されるた後、全てのウィンドウを表示指します 。特定のウィンドウを削除したい場合は、cv2.destroyWindow()コマンドを使用するそうです

cv2.destroyAllWindows()

結構、簡単に記述できました。ちなみに下記は、このファイルを直接実行した場合にTRUEとなります。直接実行した場合、Pythonプリンタで__name__が設定されます

if __name__ == "__main__":

Pythonのコードは、スクリプトファイルとして他ファイルから読み出すことが出来ます。その際に実行されないようにするための記述になります

このスクリプトを実行すると、Raspbian上に指定した画像ファイル(Raspberry Pi ロゴ)が表示されます


ちなみにcv2のインポートでエラーが発生する場合、OpenCVがインストールされていないと思いますので、ライブラリと本体をインストールしてください


なお、OpenCVは以下コマンドでインストール

sudo apt-get install libopencv-dev
sudo apt-get install python-opencv


dos2unixコマンド

放置プレイ状態のRaspberry Pi、さすがに可愛そうなのでPython(汎用プログラミング言語)の勉強がてらイジッてみようかと...
何気に閃いたのでWindows PCでスクリプトのベースを記述しました。早速、記述したスクリプトをRaspberry Piで転送し実行すると、記述ちょんぼがチラホラあります(雑な作業です)。記述を直すためにvimでファイルを開くと、改行コードが違うので見づらくなっています(改行コードが、^Mと表示されています)


ちなみに改行コードは以下の様になっています
  • Windows (DOS) CR+LF
  • 旧MacOS  CR
  • UNIX/Linux系OS LF
このままでも修正できますが、気になるので改行コードを修正することにしました。とは言っても、UNIX/Linuxを使用している人なら当たり前のdos2unixコマンドを使用するだけなんですけどね
早速、ターミナルにコマンドを入力するとコマンドが見つからないとのメッセージが...最近のLinuxにはdos2unixコマンド入っていないんですね(泣)

とりあえず、dos2unixコマンドのインストール

sudo apt-get install dos2unix


これで、dos2unixコマンドが使用できますので、早速改行コードを変換します

dos2unix ファイル名
 

改行コードの変換後は、ゴミなど表示されず見やすくなりました


参考までにですが、記述内に日本語を使用する場合、文字のエンコードスタイルをUTF-8にしないと文字化けしますよ

watchOS 4.2.3リリース

iOS 11.2.6のリリースに合わせて、watchOS 4.2.3もリリースされました


アップデート内容は、以下の様になっています。
  • watchOS 4.2.3には、特定の文字列を使用するとAppがクラッシュする問題の修正が含まれます。
クラッシュ対策の緊急リリースですね。Apple Watchにも本問題があるとは知りませんでした


ブログランキングに参加しています。良かったらクリックしてください

スマホ・携帯ランキング

 

2018年2月20日火曜日

iOS 11.2.6リリース

iOS 11.2.6がリリースされました


アップデート内容は、以下の様になっています
  •  特定の文字列を使用するとAppがクラッシュする問題を修正
  • 一部の他社製のAppが外部アクセサリに接続できない問題を修正
先日、ニュースになったインドのテルグ語の1文字でクラッシュする問題の対策が行われたとようですね。なんて読むか判りませんが、下記の字です


なおアップデートファイルの大きさは、iOS 11.2.5をインストールしているiPhone 7で33MB、iPhone 7 plusで33.2MBになります。

mineo(docomo)の使用に関して、通常使用で本アップデートによる影響はありませんでした

ブログランキングに参加しています。良かったらクリックしてください

スマホ・携帯ランキング

2018年2月13日火曜日

Lenovo G570

近所のワットマンで、Lenovo G570のジャンクを発見。価格はなんと3980円(税込み)


さっそく店員さんに確認したところ、HDD、メモリを入れても動作(たまにビープ音で起動しない)が不安定とのことでした。また、搭載CPUも判らないという話でした

ま、価格が安いので今年の運試しと言うことで購入!!

自宅に持って帰って、裏蓋を開けてみると記載の通りHDDとメモリが未搭載。って、よく見るとHDDのマウンタまで無い(泣)


とりあえず、適当に自宅にある余っているメモリとHDDを入れてテスト...動かない。とりあえず、動作しているノートPCからメモリを外して確認したところ、無事に起動しました。そのあと、しばらく再起動の繰り返しや放置プレイしても問題なく動作しています。
ちなみに動かなかったメモリは別PCでは、問題なく使用できました(相性の問題かな?)

さて、気になっていたCPUですが、Celeron Dual-Core B800 1.5GHz/2コアと本製品の最低ランクでした。ちょっと残念ですが、この機種はCPU交換が可能なんですよ

とりあえず、AmazonでCPUとHDDマウンタを探します。ジャンクなので、両方とも中古で十分です。ちなみにHDDマウンタは、G570用では見つかりませんでしたが、形状からG475用を購入しました

 

さてCPU交換ですが、これはドライバがあれば簡単に出来ます。固定ねじは、ファンのところに3箇所、フィンに4箇所です。このネジを外すと、ファンとフィンが外れて、CPUが見えます。CPUソケットのネジを外すと、CPUが外れます


逆の手順で組立てれば、CPU換装は完了になります。
あ、古いCPUグリスは綺麗に拭き取って、新しく塗布してくださいね


なお、G475用HDDマウンタは、ぴったりサイズでした。恐らく共通部品だと思われます。CPU換装後、Windows7をインストールして使用しています。


1ヶ月くらい様子を見ていますが安定動作しています 


ブログランキングに参加しています。良かったらクリックしてください
 
パソコン ブログランキングへ

2018年2月7日水曜日

Amazon Echo Dot どこに置いていますか?

我が家には、Amzon Echo DotとGoogle Home miniがありますが、以外に悩ましいのは置く場所。電源コードは共に長いのですが、配線が出ているというのは意外に邪魔です。3rd パーティーのバッテリーなんてのもありますが、充電を考えると面倒なんですよね

いろいろ探していたところ、Amzon Echo Dot専用の壁掛けホルダーというものを見つけましたので、ポチってしました

ちなみにGoogle Home mini用のホルダーも見つけたのですが、海外からの持ち込み品で価格が論外なので今回は見なかったことにしましたよ

早速、開封してみるとホルダー本体、USBケーブル、説明書が入っています。ACアダプタはAmazon Echo Dotのオリジナルを使用するようです


早速装着し、コンセントに挿すと邪魔なケーブルもなくスッキリしました


コンセント位置の問題で設置位置が低くなってしまいましたが、ちゃんと音声に反応します。ボリューム調整を行えば気になりませんよ。Amzon Echo Dotの置き場所に悩んでいる方にはオススメです

次はGoogle Home mini用ホルダーも欲しいので、安価なものを探しています