10 分ですぐに始められます
ビデオ チュートリアル 1 - OpenMV の概要: https://singtown.com/learn/688
ビデオ チュートリアル 2 - 開梱の概要: https://singtown.com/learn/49985
ビデオ チュートリアル 3 - ドライバーと IDE のインストールと使用: https://singtown.com/learn/49989/
ソフトウェアをダウンロードする
中国の公式 Web サイトのアドレス: http://openmv.cc (ソフトウェアのダウンロードをクリック)
米国の公式 Web サイトのダウンロード アドレス: https://openmv.io/pages/download
Windows
ダウンロード後、「次へ」をクリックし続けると、インストールが正常に完了します。\
画像ウィンドウがない場合は、右側からドラッグして表示できます。
ドライバーのインストール
OpenMV をコンピューターに接続します。\ 通常、ドライバーは自動的にインストールされるため、手動でインストールする必要はありません。 デバイス マネージャー には次の内容が表示されます。
ただし、一部のコンピューターではドライバーが自動的にインストールされない場合があります。\ このとき、デバイスマネージャーに感嘆符が表示され、ドライバーが正しくインストールされていないことが示されます。
現時点では、手動でインストールする必要があります。\ まずドライバーをダウンロードします: https://dl.singtown.com/openmv/openmv_windows driver.zip
デスクトップに解凍し、デバイス マネージャーでデバイスを右クリックし、[ドライバーの更新] をクリックします。
Windowsドライバーのインストールに失敗する
次のような問題が発生した場合 (まれに発生しますが、コンピュータの障害です):\
OpenMV ドライバーのインストールが失敗する場合は、90% の場合、オペレーティング システムの合理化バージョンと最適化ソフトウェアの使用が原因で発生します。 OpenMV ドライバー ソリューションは Arduino に似ています。
これは、合理化されたバージョンのウィンドウ システムが一部の一般的ではないドライバー情報を削除することが原因で発生します。
障害参照:\ https://forum.singtown.com/topic/230
最後に、提案:
- コンピュータを購入するときは、正規のオペレーティング システムを搭載したコンピュータを購入してください。
- Windows Update をオンにします (デフォルトでオンになっています。オフにしないでください)。
- 海賊版システムを使用している場合でも、MSDN から純粋な完全なバージョンをダウンロードしてください。
- システムのインストールには絶対に Ghost を使用しないでください。ドライバーの問題の 90% は Ghost によって引き起こされます。
MacOS
IDE ソフトウェアをダウンロードした後、インストーラーをダブルクリックします。 「次へ」をクリックし続けてください。
「App Storeと承認されたプログラムのみをインストールできます」と表示されている場合は、セキュリティとプライバシーで「任意のソース」に設定します。\
Ubuntu
Ubuntu は、ダウンロードしたファイルにアクセス許可を与える必要があります。次に、ダブルクリックしてインストールします。
ハローワールドを実行してください!
まず、IDE とドライバーが正常にインストールされていることを確認します。
OpenMV を USB ケーブルでコンピュータに接続すると、USB フラッシュ ドライブが表示されます。
OpenMV IDE を開きます。
この写真に注目してください。
- 「接続」をクリックします
- 次に「実行」をクリックします
右上隅の画像ウィンドウに画像が正しく表示されます。\
下部の「シリアルターミナル」をクリックすると、ターミナルウィンドウが表示されます。\
同時に、データは常にシリアル ターミナルに印刷されます。これがフレーム レートです。これは、コードの 17 行目で print(lock.fps())
を実行した結果です。
ボールを追跡する
編集ボックス内のすべてのコンテンツを削除し、次のコードに置き換えます。
# 色块监测 例子
#
# 这个例子展示了如何通过find_blobs()函数来查找图像中的色块
# 这个例子查找的颜色是深绿色
import sensor, image, time
# 颜色追踪的例子,一定要控制环境的光,保持光线是稳定的。
green_threshold = ( 0, 80, -70, -10, -0, 30)
#设置绿色的阈值,括号里面的数值分别是L A B 的最大值和最小值(minL, maxL, minA,
# maxA, minB, maxB),LAB的值在图像左侧三个坐标图中选取。如果是灰度图,则只需
#设置(min, max)两个数字即可。
sensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
sensor.set_framesize(sensor.QQVGA) # 使用 QQVGA 速度快一些
sensor.skip_frames(time = 2000) # 跳过2000s,使新设置生效,并自动调节白平衡
sensor.set_auto_gain(False) # 关闭自动自动增益。默认开启的,在颜色识别中,一定要关闭白平衡。
sensor.set_auto_whitebal(False)
#关闭白平衡。白平衡是默认开启的,在颜色识别中,一定要关闭白平衡。
clock = time.clock() # 追踪帧率
while(True):
clock.tick() # Track elapsed milliseconds between snapshots().
img = sensor.snapshot() # 从感光芯片获得一张图像
blobs = img.find_blobs([green_threshold])
#find_blobs(thresholds, invert=False, roi=Auto),thresholds为颜色阈值,
#是一个元组,需要用括号[ ]括起来。invert=1,反转颜色阈值,invert=False默认
#不反转。roi设置颜色识别的视野区域,roi是一个元组, roi = (x, y, w, h),代表
#从左上顶点(x,y)开始的宽为w高为h的矩形区域,roi不设置的话默认为整个图像视野。
#这个函数返回一个列表,[0]代表识别到的目标颜色区域左上顶点的x坐标,[1]代表
#左上顶点y坐标,[2]代表目标区域的宽,[3]代表目标区域的高,[4]代表目标
#区域像素点的个数,[5]代表目标区域的中心点x坐标,[6]代表目标区域中心点y坐标,
#[7]代表目标颜色区域的旋转角度(是弧度值,浮点型,列表其他元素是整型),
#[8]代表与此目标区域交叉的目标个数,[9]代表颜色的编号(它可以用来分辨这个
#区域是用哪个颜色阈值threshold识别出来的)。
if blobs:
#如果找到了目标颜色
for b in blobs:
#迭代找到的目标颜色区域
# Draw a rect around the blob.
img.draw_rectangle(b[0:4]) # rect
#用矩形标记出目标颜色区域
img.draw_cross(b[5], b[6]) # cx, cy
#在目标颜色区域的中心画十字形标记
print(clock.fps()) # 注意: 你的OpenMV连到电脑后帧率大概为原来的一半
#如果断开电脑,帧率会增加
プログラムを実行した後
このプログラムは、green_threshold のしきい値に基づいてカラー パッチを検索します。
変更しきい値
では、このしきい値を自分で変更するにはどうすればよいでしょうか?オブジェクトの色のしきい値を知るにはどうすればよいでしょうか?
- デジタル リスト項目の場合は、まずカメラでターゲット カラーを見つけ、フレーム バッファーでターゲット カラーを左クリックして四角形を囲みます。
- フレームバッファの下の座標図で、「LAB Color Space」を選択します。
- 3 つの座標図はそれぞれ、円で囲まれた長方形領域内の色の LAB 値を表します。3 つの座標図の最大値と最小値、つまり (0, 60, -70, -10, -0, 30)
ファイルシステム
ファイル システムは OpenMV (または MicroPython) の特に優れた機能です。ファイルシステムとは何ですか?簡単に言うと、さまざまなフォルダーやファイルがツリー構造に配置されているものです。また、コード内でパスを使用して、ファイルの読み取り、ファイルの作成などを行うことができます。
オフラインで実行
ビデオ チュートリアルの添付ファイル 2 - オフライン操作: https://singtown.com/video
それで、ここに問題があるでしょうか? OpenMV をサポートするファイル システムはどのような用途に使用されますか?
答えは、「とても便利」です。\ OpenMV は、内蔵フラッシュをファイル システムに仮想化します。OpenMV をコンピュータに挿入すると、USB フラッシュ ドライブがポップアップします。内部には OpenMV ファイル システムがあります。ファームウェアを書き込む場合は、この「U ディスク」の main.py にスクリプト ファイルを直接コピーします。電源を入れるたびに、OpenMV は内部の main.py を自動的に実行し、オフライン操作を実現します。
ワンクリックでダウンロード
ツールバーで「開いたスクリプトを OpenMV Cam (main.py として) に保存」をクリックすると、IDE が現在のファイルを main.py に自動的に保存します。これは非常に便利です。
搭載
OpenMV には 2 つの電源入力があります。
- VIN(VCC\として識別される場合もあります)
- USB入力
VIN 入力は 3.6V ~ 5V で、5V を推奨します。\ USB と VIN に同時に電力を供給できます。
OpenMV には次のような出力があります。
- 3.3V、この電圧は OpenMV 電圧レギュレータによって出力され、他のセンサーに電力を供給するために使用されます。 注: 内部チップの保護がないと、3.3V を直接供給しないでください。
SDカード
では、コードに 100,000 行があり、内蔵フラッシュでは不十分な場合はどうなるでしょうか?画像を保存したい場合はどうすればよいですか?
答えは「SDカードが使える」です!
では、SDカードはどうやって使うのでしょうか? SD カードもファイル システムです。電源を入れると、SD カードが挿入されると、電源が入るたびに SD カードのファイル システムが自動的に置き換えられます。 SDカード内の.pyが実行されます。 `La、とても直感的で便利ですね。 SDカードは最大32Gの容量をサポートします。