VirtualBox5.1でのExcelのセルコピペ

MacにVirtualBox5.1でゲストOSにWindows 7 SP1という構成で自分の環境で、

Excel2016やExcel2013でセルのコピーを行うと、100%プチフリーズする。

Excel2016の場合は2〜3分、ひどい時は5分くらい。

Excel2013の場合は数十秒程度。

 

セルの中の文字列をコピーする場合だとフリーズしない。

Excel2007の場合は何とも無かった。

Wordは問題なし。

 

Excelのバージョンの問題かと思い、Windows10に載せ替えるまで我慢しようと使っていたけど、

ふらっとVMware Fusion10 Proを試用してみようと思い、VirtualBoxVMovaでエクスポートして、

動かしてみたらプチフリどころかなんて滑らか!全然問題なし!!

 

VirtualBoxの時はMagic Keyborad,Magic Mouseとも相性が良くなかったのか、

ホイールや矢印キーを1回押すと4,5回押されたような動きをしていたんだけど、

それも解消。

 

FusionでのゲストOSでマルチディスプレイの動きは馴染めない部分もあるけど、

全体的にVMの動作がいい感じなので我慢しよう。

 

VirtualBoxのコピーのエミュレーションに問題あるのかなぁ。

KRACK対策はiPhone7,iPad Pro以降

iOS11.1に入っているWPA2の脆弱性対策の修正だけど、

対象機種がiPhone7,iPad Pro以降だそうで・・・

 

Available for: iPhone 7 and later, and iPad Pro 9.7-inch (early 2016) and later

Impact: An attacker in Wi-Fi range may force nonce reuse in WPA clients (Key Reinstallation Attacks - KRACK)

Description: A logic issue existed in the handling of state transitions. This was addressed with improved state management.

CVE-2017-13080: Mathy Vanhoef of the imec-DistriNet group at KU Leuven

 

support.apple.com

 

え。iOS11がサポートする機種が対象じゃないの。

iPhone6とかiPad miniとかは問題ないということなのか。

うーん。詳細が知りたいが。知っている方いませんかね。

 

 

Safariで画像が表示されない件(続き)

5月に投稿Safariで画像が表示されない件、バッチリ表示と書いたけれど、

最初は大丈夫だったけど、そのうちまた表示されなくなった。

 

macos High Sierraに期待して、アップデートすれば解決するかなと思ったけれど、

やはりイマイチ。

 

画像が表示できないときはGoogle Chomeを使えばバッチリ見れるんだけど、

SafariiPhoneとHandoffが便利なもので、やっぱりSafariが捨てがたい。

 

もう一度調べるかーと思って調べたら、どうもDNSのような記事を発見。

 

https://discussionsjapan.apple.com/thread/10119922?start=15&tstart=0

 

ルータのIPではなくプロバイダのDNSIPアドレスを入れたら、

90%くらい改善した感じだ。

 

とりあえず使えるようになったかな。

Raspberry Pi3とPicameraでリアルタイム顔認識

Raspberry Pi3とPicameraを使ってリアルタイム顔認識・画像上書きを行ってみた。

内容はもう出尽くした感がありますが、PythonOpenCVを使っています。

いろんなサイトを見てはコピペ実行で作ったのでわからないまま作ってしまったのですが、

コメントを入れながら1行ずつ理解した感じです。

# coding:utf-8

import io
import picamera
import cv2

import numpy as np

# HAAR分類器の顔検出用の特徴量
cascade_path = "/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml"

# カスケード分類器の特徴量を取得する
cascade = cv2.CascadeClassifier(cascade_path)

stream = io.BytesIO()

CAMERA_WIDTH = 320
CAMERA_HEIGHT = 240

color = (255,255,255)

camera = picamera.PiCamera()
camera.resolution = (CAMERA_WIDTH, CAMERA_HEIGHT)

laugh = cv2.imread('laughingman.png', -1)  # 画像の読み込み。-1でアルファチャンネルを付けて読む
mask = cv2.cvtColor(laugh[:,:,3], cv2.cv.CV_GRAY2BGR)/255.0  # 画像からアルファチャンネルだけを抜き出して0から1までの値にする。あと3チャンネルにしておく
laugh = laugh[:,:,:3]  # アルファチャンネルを消したもの

while True:
        camera.capture(stream, format='jpeg')
        data = np.fromstring(stream.getvalue(), dtype=np.uint8)
        image = cv2.imdecode(data, 1)
        cv2.imshow('image',image)
        cv2.waitKey(16)

        # グレースケール変換
        image_gray = cv2.cvtColor(image, cv2.cv.CV_BGR2GRAY)

        # 物体認識(顔認識)の実行
        # image – CV_8U 型の行列.ここに格納されている画像中から物体が検出されます
        # objects – 矩形を要素とするベクトル.それぞれの矩形は,検出した物体を含みます
        # scaleFactor – 各画像スケールにおける縮小量を表します
        # minNeighbors – 物体候補となる矩形は,最低でもこの数だけの近傍矩形を含む必要があります
        # flags – このパラメータは,新しいカスケードでは利用されません.古いカスケードに対しては,cvHaarDetectObjects 関数の場合と同じ意味を持ちます
        # minSize – 物体が取り得る最小サイズ.これよりも小さい物体は無視されます
        # facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=3, minSize=(10, 10), flags = cv2.cv.CV_HAAR_SCALE_IMAGE)

        facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1))

        image_output = image
        if len(facerect) > 0:


                # 検出した顔を囲む矩形の作成
                for rect in facerect:

                        # 画像のサイズ調整
                        rect[0] -= min(25, rect[0])
                        rect[1] -= min(25, rect[1])
                        rect[2] += min(50, image_output.shape[1]-(rect[0]+rect[2]))
                        rect[3] += min(50, image_output.shape[0]-(rect[1]+rect[3]))

                        # 笑い男とマスクを認識した顔と同じサイズにリサイズする。
                        laugh2 = cv2.resize(laugh, tuple(rect[2:]))
                        mask2 = cv2.resize(mask, tuple(rect[2:]))

                        # 笑い男の合成。
                        image_output[rect[1]:rect[1]+rect[3], rect[0]:rect[0]+rect[2]] = laugh2[:,:] * mask2 + image_output[rect[1]:rect[1]+rect[3], rect[0]:rect[0]+rect[2]] * (1.0 - mask2)
        cv2.imshow('image_out',image_output)
        cv2.waitKey(16)

        stream.seek(0)

        if cv2.waitKey(10) > 0:
            break

cv2.destroyAllWindows()

参考にさせていただいたサイトはこちら。 そのまんまのコピペで動きました。ありがとうございました。 peaceandhilightandpython.hatenablog.com

pythonのOpenCVでリアルタイムに笑い男 - BlankTar


結果はこちら! f:id:tomtech:20170603161049p:plain

思った通りの内容でした。 横顔の認識は今回読み込んだライブラリではできなかったです。

攻殻機動隊SAC笑い男の書き替え技術スゲーなーとあらためて思ったり・・・

HAAR分類器とかカスケード分類器とかまだまだわかっていない部分が多いですが、 これから中身を見ていきます。

Mac Safariで画像が表示されない件

いつの頃からかMacSafariでサイトを見た時に画像が数個表示されないときがあった。

 

再読込すれば見れたり、キャッシュを削除してみたりしたけど、

Chromeだと正常に表示出来たりする。

 

なんだろうと思いながらだましだまし使っていたけど、

どうにも我慢できなくなって調べたら、

グローバルサインのルート証明書が一時的に失効して2016/10/7の証明書失効リスト(CRL)を、

OSCPのデータベースに取り込んだのが原因とのこと。

 

要はその画像の元が失効しているとして表示できなかったということなのでした。

復旧コマンドはOSCPのキャッシュを削除するというもの。

OS X Sierraの場合、ターミナルを開いて以下を実行する。

sqlite3 ~/Library/Keychains/*/ocspcache.sqlite3 'DELETE FROM ocsp;'

 

ばっちり画像が表示されるようになった。

 

元記事

it.srad.jp

support.globalsign.com

Andriod O のwi-fiデザリングは5GHz帯 NGか

調子に乗って、手持ちのNexus5xをAndoroid NからAndroid O Developer Previewにアップデートした。

 

バッテリーの持ちは良くなったような気がする。

 

 

たまにiPadと組み合わせてwi-fiテザリングを使ったりするのだが、

wi-fiアクセスポイントをタップすれども起動せず。

 

 

どうしたもんかなーと思っていて、ふと「wi-fiアクセスポイントをセットアップ」の「AP帯域幅」を

2.4GHzに変えたらwi-fiアクセスポイントが起動。

 

問題なく接続できました。

正式版ではもちろん修正されていると期待。

 

【追記】

Bluetoothテザリングは全く問題なかったです

 

 

Android O Developer Previewの壁紙は地球。なかなかGood。

f:id:tomtech:20170526145224j:plain

Raspberry PiにMacからVNC接続

Raspberry PiRealVNCを起動させて、MacからVNC接続するとエラーになる。

f:id:tomtech:20170523175905p:plain

 

Chrome VNCだと接続できるのでなんだろな~と思っていて、

どうしてもMacの画面共有(Finderでcommand+k)で接続したくなったのでちょっとだけ調べた。

どうもMacの画面共有はパスワード認証で通るようなので、パスワード認証(VNC Password)に設定。

Unix認証だとそもそもユーザが一致していないので)

f:id:tomtech:20170523175846p:plain

 

これでMacからも接続OK。