真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于vb點虐 開發(fā)視覺軟件的信息

機器視覺檢測系統(tǒng)編程用的什么語言

一般二次開發(fā)用vb點虐 或者c#即可,如果想要自己寫算法做開發(fā),或者定制現(xiàn)有的算法,建議使用C++

石屏網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),石屏網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為石屏近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的石屏做網(wǎng)站的公司定做!

VB點虐 可以開發(fā)小型3D圖形顯示軟件嗎?

可以借助DirectX來編程。免費3D引擎可不好找,一般來說速度比不上硬件加速后的DX,尤其令人頭疼的是一般都沒有針對VB的文檔,LZ有這方面理想的話,自己寫一個吧……

我不得不承認(rèn)在VB上寫DirectX的教程相當(dāng)難找!如果LZ想深入研究三維圖形問題,C++一定要學(xué),就算不能用C++編程,起碼要能把C++程序翻譯成VB程序。

我自己學(xué)會DX編程花了兩三個月(很淺)。編這樣一個程序難度是有點大的。

工具:DirectX9和其針對VB的庫(項目-添加引用。.NET庫里DX庫一般都有),VB不知道現(xiàn)在支不支持DX10以上的版本,不過9絕對夠用了。

思路:一切3D圖形都是由三角形拼成的。矩形挖掉一個圓孔可不是一個方便畫的圖形,我估計至少得有24個三角形。你需要記錄這些點的坐標(biāo),或者干脆把它們寫在文件里,到時讀出來。

這是我的一個老DX程序的不完全的代碼(顯示一個黑乎乎的平面),不一定能編譯,可以參考一下。

Imports Microsoft.DirectX '一定要~

Public Class FormMain

'Direct3D Startup

Dim d3dpp As New Direct3D.PresentParameters 'DX基本參數(shù),例如全屏還是窗口等

Public MyDevice As Direct3D.Device ‘DX基本設(shè)備,畫圖就靠它。

'Matrices

Dim matWorld, matView, matProj As Matrix '世界位置矩陣,攝像機位置矩陣和透視矩陣,數(shù)學(xué)要學(xué)好啊。

'mesh

Public MyPlane as Direct3D.Mesh ’我們的物體

Public VBPlane(3) As Direct3D.CustomVertex.PositionNormalTextured '存放頂點位置的數(shù)組

#Region "DX Core"

Public Sub InitDeviceObjects()

With d3dpp ‘以下請照抄。

.Windowed = True ‘不全屏。

.SwapEffect = Direct3D.SwapEffect.Discard ’雙緩沖交換效果。請百度“雙緩沖”

.BackBufferFormat = Direct3D.Format.Unknown

.EnableAutoDepthStencil = True ’讓DX自動管理深度緩沖

.AutoDepthStencilFormat = Direct3D.DepthFormat.D16

End With

MyDevice = New Direct3D.Device(0, Direct3D.DeviceType.Hardware, Me.Handle, Direct3D.CreateFlags.HardwareVertexProcessing, d3dpp) '創(chuàng)建DX設(shè)備啦!以下兩句請照抄。

MyDevice.SetRenderState(Direct3D.RenderStates.ZEnable, True) ‘Z緩沖

MyDevice.SetRenderState(Direct3D.RenderStates.NormalizeNormals, True)'法線歸一化,請看相關(guān)數(shù)學(xué)書籍。

End Sub

Public Sub RestoreDeviceObjects()

Dim PlaneIB() As Short = {0, 1, 3, 0, 2, 3} ’頂點索引信息。

Dim AttrTable(1) As Direct3D.AttributeRange ‘頂點分組屬性表

AttrTable(0).AttributeId = 0

AttrTable(0).FaceStart = 0

AttrTable(0).FaceCount = 2 ’有兩個三角形

AttrTable(0).VertexStart = 0

AttrTable(0).VertexCount = 4 ‘四個點

‘頂點坐標(biāo)信息。

VBPlane(0) = New Direct3D.CustomVertex.PositionNormalTextured(-500, -500, 0, 0, 0, 1, 0, 0)

VBPlane(1) = New Direct3D.CustomVertex.PositionNormalTextured(500, -500, 0, 0, 0, 1, 1, 0)

VBPlane(2) = New Direct3D.CustomVertex.PositionNormalTextured(-500, 500, 0, 0, 0, 1, 0, 1)

VBPlane(3) = New Direct3D.CustomVertex.PositionNormalTextured(500, 500, 0, 0, 0, 1, 1, 1)

MyPlane = New Direct3D.Mesh(2, 4, Direct3D.MeshFlags.Managed, Direct3D.VertexFormats.Position + Direct3D.VertexFormats.Normal + Direct3D.VertexFormats.Texture1, MyDevice) ’創(chuàng)建物體

MyPlane.SetVertexBufferData(VBPlane, Direct3D.LockFlags.None) ‘輸入頂點坐標(biāo)數(shù)據(jù)

MyPlane.SetIndexBufferData(PlaneIB, Direct3D.LockFlags.None) ‘輸入索引數(shù)據(jù)

MyPlane.SetAttributeTable(AttrTable) ‘輸入頂點分組屬性表

End Sub

Public Sub Render() ‘調(diào)用它畫圖

Dim vlook As New Vector3(1, 0, 0)

Dim vPos As New Vector3(0,0,0)

Dim vUp As New Vector3(0, 0, 1)

MatView = Matrix.LookAtLH(vPos, vlook, vUp) ‘計算攝像機位置矩陣

Device.SetTransform(Direct3D.TransformType.View, MatView) ‘設(shè)置當(dāng)前攝像機位置矩陣為MatView。

Dim fAspect As Single = Me.Width / Me.Height ’窗口長寬比

matProj = Matrix.PerspectiveFovLH(Math.PI / 4, fAspect, 1.0F, 10001) ‘計算透視矩陣MatProj。

MyDevice.SetTransform(Direct3D.TransformType.Projection, matProj) ‘設(shè)置當(dāng)前透視矩陣為MatProj。

MyDevice.Clear(Direct3D.ClearFlags.Target + Direct3D.ClearFlags.ZBuffer, Color.Blue, 1.0F, 0) ’先刷藍(lán)屏

MyDevice.BeginScene() ‘開始畫

MatWorld = Matrix.Identity ’物體位于原點,不旋轉(zhuǎn)

Device.SetTransform(Direct3D.TransformType.World, MatWorld) ’設(shè)置物體位置

Me.Mesh.DrawSubset(0) ‘畫物體

MyDevice.EndScene() ’結(jié)束

MyDevice.Present() ‘顯示在屏幕上

End Sub

Public Sub DeleteDeviceObjects() ’結(jié)束程序時放掉資源

MyPlane.Dispose()

MyDevice.Dispose()

End Sub

#End Region

Private Sub FormMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

DeleteDeviceObjects()

Windows.Forms.Cursor.Show()

End Sub

Private Sub FormMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

InitDeviceObjects()

RestoreDeviceObjects()

Windows.Forms.Cursor.Hide()

Render()

End Sub

End Class

康耐視視覺系統(tǒng)添加工具要改腳本嗎?

Visionpro 軟件是一款非常好用的機器視覺軟件,它降低了開發(fā)人員的入門門檻,一個簡單的機器視覺項目,只需要拖拉窗口,設(shè)定下參數(shù),就可以立刻完成部署上線,開發(fā)效率是非常高的。

但這種模式也會降低開發(fā)的靈活性,值得高興的是Visionpro也幫我們考慮到了這點,可以通過VisionPro腳本來拓展我們需要的功能,該腳本可以由C#或者VB.NET來編寫,無需再學(xué)習(xí)新的編程語言。這樣使得Visonpro開發(fā)機器視覺項目變得更加高效和靈活。下面我么就來介紹一下VisionPro腳本的使用方式。

1.VisionPro腳本的目的

VisionPro腳本主要是用來輔助QuickBuild工程,靈活拓展QuickBuild工程應(yīng)用。它通常與VisionPro代碼一起或者代替VisionPro代碼來運行。

2.什么情況下使用腳本

1.QuickBuild和應(yīng)用程序向?qū)Р荒軐崿F(xiàn)你想要的功能的時候;

2.拓展QuickBuild和應(yīng)用程序向?qū)У墓δ堋?/p>

3.VisionPro腳本分為:作業(yè)腳本,工具組腳本,工具塊腳本;

1.作業(yè)腳本

(1.)作業(yè)腳本用途

通過作業(yè)腳本,我們可以訪問作業(yè)屬性,對圖像采集參數(shù)進(jìn)行設(shè)置和控制圖像采集過程。

(2.)如何進(jìn)入圖像腳本編程界面

1.打開作業(yè)

2.點擊配置-作業(yè)屬性-編輯腳本

這里有C#和VB.Net腳本可以供選擇,可以根據(jù)自己專長來選擇,案例中我們都以c#為首選語言。

3.選擇C#腳本,進(jìn)入編譯區(qū)域

2.工具組腳本

(1.)工具組腳本用途

控制工具組里工具的執(zhí)行順序,拓展工具無法實現(xiàn)的功能。

(2.)如何進(jìn)入工具組腳本編程界面

1.打開作業(yè)

2.點擊創(chuàng)建-編輯腳本工具-C#腳本

3.工具塊腳本

(1.)工具塊腳本用途

可以將多個工具封裝成一個工具塊,該工具塊具有特殊功能和自定義的輸入輸出端口,同時工具塊可以被其它程序復(fù)用。

(2.)如何進(jìn)入工具組腳本編程界面

1.打開作業(yè)

2.進(jìn)入作業(yè)-添加工具塊工具

3.進(jìn)入工具塊-添加c#腳本-進(jìn)入腳本編譯區(qū)域

這里有C#和VB.NET兩種腳本語言,同時每種腳本又有簡單和高級兩種腳本。

工具塊(ToolBlock)腳本結(jié)構(gòu)和工具組(ToolGroup)腳本結(jié)構(gòu)大致一致,這里就不在復(fù)述了,可以參考工具組腳本結(jié)構(gòu)學(xué)習(xí)。

vb可以用來做機器視覺開發(fā)嗎

VB是可以的。例如常規(guī),像素RGB范圍匹配模式,二值化對比模式也都是僅僅數(shù)十行代碼可以實現(xiàn)。當(dāng)然一些高級的工件自由檢測,如指紋算法模式,非基準(zhǔn)輪廓對比等就是看自己的VB功力了。

首先,硬件方面

1、相機最好要支持VB6的SDK開發(fā)包,這樣事半功倍;

2、如果檢測環(huán)境無法做防干擾屏蔽罩時,必須選用窄通紅外相機配合紅外光源,一般透光波長選擇800·900納米范圍,缺點是這樣的相機只有灰度圖像;

3、檢測誤報率與環(huán)境光源干擾、信噪比、曝光穩(wěn)定性、白平衡等有重要關(guān)系;

4、檢測響應(yīng)速度與相機幀率、相機像素大小、控制器CPU、上位機計算程序代碼寫法有關(guān);

5、如果被檢查工件之間的顏色差異非常明顯如黑與白,藍(lán)與黃,紅與綠且檢測精度要求低或僅檢測有無,則可以選擇低端的普通攝像頭、一般的白光光源。但最好要防干擾屏蔽罩;

6、相機的I/O觸發(fā)可有可無,一般通過軟觸發(fā)。因此要配一塊串口通訊的單片機,根據(jù)實際檢測功能配置合適的輸入和輸出點數(shù),其作用是上位機控制相機和外接其它功能設(shè)備。土豪當(dāng)然也可以直接用PLC。

7、軟件基本邏輯是,上位機軟件觸發(fā)相機拍照,程序?qū)⒄掌祷幚砘蜉喞崛?,分析與基準(zhǔn)圖像的差異并作出判斷。I/O卡輸出信號控制其它外接設(shè)備工作。

檢測分為,ROI匹配或全圖匹配。ROI匹配即通過VB上位機軟件設(shè)定,只檢測需要檢測的部分,大大減少CPU計算量,提升檢測響應(yīng)速度。全圖匹配,不建議使用,不但誤報高,而且吃CPU。

希望這些信息可以幫到你。


當(dāng)前題目:關(guān)于vb點虐 開發(fā)視覺軟件的信息
鏈接地址:http://weahome.cn/article/ddisjsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部