日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenMv学习总结

發布時間:2024/1/1 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenMv学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

入門階段

簡單來說,OpenMv就是一個可編程的攝像頭,通過使用python語言,專門用作嵌入式當中的視覺感光元件。下面將介紹Openmv使用過程中的常用知識。

感光元件

感光元件即sensor模塊,與攝像頭有關。看如下例子:

import sensor#引入感光元件的模塊 ? # 設置攝像頭 sensor.reset()#初始化感光元件 sensor.set_pixformat(sensor.RGB565)#設置為彩色,用到其它參數時再上官方文檔里找,下同 sensor.set_framesize(sensor.QVGA)#設置圖像的大小 sensor.skip_frames()#跳過n張照片,在更改設置后,跳過一些幀,等待感光元件變穩定。 ? # 一直拍照 while(True):img = sensor.snapshot()#拍攝一張照片,img為一個image對象

ROI區域

sensor.set_framesize(sensor.VGA) # 高分辨率 sensor.set_windowing((640, 80)) #取中間的640*80區域

獲取/設置像素點

img = sensor.snapshot() img.get_pixel(10,10) img.set_pixcel(10,10,(255,0,0))#設置坐標(10,10)的像素點為紅色(255,0,0)

圖像的運算

  • image.invert() 圖像取反
  • image.nand(image) 圖像之間進行與非運算
  • image.nor(image) 圖像之間進行或非運算
  • image.xor(image)圖像之間進行異或運算
  • image.difference(image) 此函數通常用來做移動檢測

畫圖

image.draw_line(line_tuple, color=White) 在圖像中畫一條直線,其中line_tuple的格式為(x0, y0, x1, y1),即從某點到某點的直線

image.draw_rectangle(rect_tuple, color=White) 在圖像中畫一個矩形框,其中rect_tuple 的格式是 (x, y, w, h)。

這里只舉如上兩個例子,其它的用到再去查即可。


各種外設的學習

添加自定義模塊

OpenMv存在一個文件系統,根目錄下有一個main.py,把你需要導入的自定義模塊復制到根目錄下即可。

操作LED

from pyb import LED ? led = LED(1) # 紅led led.toggle() led.on()#亮 led.off()#滅

操作IO口

from pyb import Pin ? p_out = Pin('P7', Pin.OUT_PP)#設置p_out為輸出引腳 p_out.high()#設置p_out引腳為高 p_out.low()#設置p_out引腳為低 p_in = Pin('P7', Pin.IN, Pin.PULL_UP)#設置p_in為輸入引腳,并開啟上拉電阻 value = p_in.value() # get value, 0 or 1#讀入p_in引腳的值

可以看出,pyb模塊里各種外設的操作和32類似,易上手。

控制舵機

from pyb import Servo ? s1 = Servo(1) # servo on position 1 (P7) s1.angle(45) # move to 45 degrees s1.angle(-60, 1500) # move to -60 degrees in 1500ms s1.speed(50) # for continuous rotation servos

具體需要用到哪個舵機還是需要參照原理圖的結構。

定時器

from pyb import Timer ? tim = Timer(4, freq=1000) tim.counter() # get counter value tim.freq(0.5) # 0.5 Hz tim.callback(lambda t: pyb.LED(1).toggle()) //類似于32的回調函數

IO中斷

from pyb import Pin, ExtInt ? callback = lambda e: print("intr") ext = ExtInt(Pin('P7'), ExtInt.IRQ_RISING, Pin.PULL_NONE, callback)

PWM輸出

from pyb import Pin, Timer ? p = Pin('P7') # P7 has TIM4, CH1 tim = Timer(4, freq=1000) ch = tim.channel(1, Timer.PWM, pin=p) ch.pulse_width_percent(50)

UART

from pyb import UARTuart = UART(3, 9600) uart.write('hello') uart.read(5) # read up to 5 bytes
OpenMv之尋找色塊 image.find_blobs(thresholds, roi=Auto, x_stride=2, y_stride=1, invert=False, area_threshold=10, pixels_threshold=10, merge=False, margin=0, threshold_cb=None, merge_cb=None)
  • Thresholds是你想識別的顏色的闕值,注意它是一個列表對象。
  • roi即你感興趣的區域。
  • x_stride 就是查找的色塊的x方向上最小寬度的像素,y_stride 就是查找的色塊的y方向上最小寬度的像素,默認為2。
  • invert反轉闕值。
  • area_threshold 面積閾值,如果色塊被框起來的面積小于這個值,會被過濾掉。
  • pixels_threshold 像素個數閾值,如果色塊像素數量小于這個值,會被過濾掉。
  • merge 合并,如果設置為True,那么合并所有重疊的blob為一個。
  • margin 邊界,如果設置為1,那么兩個blobs如果間距1一個像素點,也會被合并。

顏色闕值的結構

red = (minL, maxL, minA, maxA, minB, maxB)

但是OpenMv如此強大,在IDE工具欄里的Machine Vision中有闕值調試工具

BLOB色塊對象

  • blob.rect() 返回這個色塊的外框——矩形元組(x, y, w, h),可以直接在image.draw_rectangle中使用。
  • blob.x() 返回色塊的外框的x坐標(int),也可以通過blob[0]來獲取。
  • blob.y() 返回色塊的外框的y坐標(int),也可以通過blob[1]來獲取。
  • blob.w() 返回色塊的外框的寬度w(int),也可以通過blob[2]來獲取。
  • blob.h() 返回色塊的外框的高度h(int),也可通過blob[3]來獲取。
  • blob.pixels() 返回色塊的像素數量(int),也可以通過blob[4]來獲取。
  • blob.cx() 返回色塊的外框的中心x坐標(int),也可以通過blob[5]來獲取。
  • blob.cy() 返回色塊的外框的中心y坐標(int),也可以通過blob[6]來獲取。
  • blob.area() 返回色塊的外框的面積。應該等于(w * h)

能看到這里的人真是不簡單啊 !!!
最后一個!!!串口的使用

先來看如下一段代碼:

在這里,我們用串口來不斷發送blob數據,而尋找色塊的過程跟opencv的思路相似,在前邊也介紹過,只不過在openmv中更簡便。

當用openmv的串口發送完數據后,接收端需要進行相應的解析才能得到想要的數據,前提是你需要知道發送數據的格式并撰寫相應的函數。

學到這里,相信你對OpenMv已經掌握地差不多了,如果想更深入地進行學習,可以到它的官網里去看所有API的介紹。

~~~留贊的人今年心想事成

總結

以上是生活随笔為你收集整理的OpenMv学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩精品一区二区在线播放 | 欧美成人一区二区 | 少妇高潮惨叫久久久久久 | 日韩国产小视频 | 免费的黄色片 | 中文字幕一区二区在线观看视频 | 福利在线国产 | 精品久久久视频 | 欧美丰满一区二区免费视频 | 在线观看免费视频一区二区 | 美足av电影 | 国产第一页在线观看 | 日韩一级黄色录像 | 18在线观看免费入口 | 欧美性视频一区二区三区 | 亚洲精品久久久狠狠狠爱 | 国产一区二区三区欧美 | 国产精品无码99re | 亚洲在线激情 | 老色批av | 欧美一区二区在线视频观看 | 日日夜夜狠狠操 | 这里只有精品视频在线 | 国产欧美日韩三级 | 干爹你真棒插曲mv在线观看 | 美女网站免费观看视频 | 黄色小视频免费在线观看 | 99免费在线观看视频 | 99在线看| 日本高清不卡在线观看 | 免费无遮挡在线观看视频网站 | 一区视频在线免费观看 | 婷婷综合激情 | 丰满大乳露双乳呻吟 | a国产免费| 天天碰天天碰 | 欧美一级片观看 | 成人一区二区三区四区 | 亚洲男人第一av | 欧美变态绿帽cuckold | 日本美女性高潮 | 欧美色图综合网 | 日韩三区在线观看 | 国产精品2 | 欧美另类极品videosbest使用方法 | 成人国产视频在线观看 | 午夜免费福利在线 | 特黄视频免费看 | 成年人在线观看网站 | 美国一级黄色大片 | 日韩黄片一区二区 | 国产精品自偷自拍 | 日韩中文一区二区 | 成人看片免费 | 香蕉色视频 | 美女被揉胸视频 | 亚洲高清中文字幕 | 免费的三级网站 | 亚洲美女免费视频 | 久久久久国产精品夜夜夜夜夜 | 在线观看欧美成人 | 青草综合| 精品三级在线观看 | 琪琪久久 | 国产欧美一区二区三区在线看蜜臂 | 91视频xxx| 免费在线视频观看 | 色秀视频在线观看 | 色涩色 | 午夜视频国产 | 波多野结衣mp4 | 欧美午夜激情视频 | 日本伦理片在线播放 | 亚洲精品区 | 午夜激情网 | 中国少妇色 | 免费在线视频一区二区 | 超碰人人人人人人人 | 人妻丰满熟妇av无码区 | 亚洲色欲色欲www在线观看 | 国产一区二区三区观看 | 28一20岁女人一级 | 999热精品| 黑人操日本女优 | 欧美11一13sex性hd | 性欧美丰满熟妇xxxx性仙踪林 | 丰满岳乱妇一区二区三区 | 午夜影院免费在线观看 | 国产传媒视频在线 | 京香julia在线观看 | 狠狠干天天| 在线观看v片| 欧美日韩在线播放视频 | 在线欧美一区 | 国产91美女视频 | 网友自拍咪咪爱 | 日本男人的天堂 | 三级全黄做爰在线观看 | 国产精品xxx在线 |