色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

C#與HALCON聯(lián)合開發(fā)機器視覺檢測系統(tǒng):架構(gòu)、模塊與驗收實踐

C#與HALCON聯(lián)合開發(fā)機器視覺檢測系統(tǒng):架構(gòu)、模塊與驗收實踐 簡介圍繞C#與HALCON構(gòu)建的機器視覺檢測系統(tǒng)是一套面向機器視覺初學(xué)者與中高級開發(fā)者的完整工程源碼聚焦工件表面質(zhì)量檢測場景。系統(tǒng)按圖像采集、預(yù)處理、特征提取、決策反饋和圖形界面等模塊組織展示相機取圖、去噪增強、形狀與模板匹配、缺陷判定及報警聯(lián)動的實現(xiàn)路徑適合用于課程實踐、項目原型驗證和二次開發(fā)參考。壓縮包共245個文件、約45.48MB以80個C#源碼文件為核心配有35張BMP測試圖像、29個DLL與23個PDB依賴調(diào)試文件以及10個resx/resources界面資源、6個csproj工程文件、3個exe和sln解決方案等目錄結(jié)構(gòu)較完整便于直接打開工程梳理調(diào)用關(guān)系。已有7066人學(xué)習(xí)下載。讀者可據(jù)此理解C#調(diào)用HALCON算子、視覺流程編排、檢測結(jié)果展示與工程部署方式并借助測試圖復(fù)現(xiàn)實驗、定位問題積累可遷移的機器視覺系統(tǒng)開發(fā)經(jīng)驗。1. 一條外觀檢測線的真實取舍C# 與 HALCON 到底誰管哪一段某產(chǎn)線要做零件外觀檢測最初的想法很樸素用 C# 把相機采到的圖讀成 Bitmap自己寫閾值、找輪廓、算尺寸。真跑到現(xiàn)場就卡住了——換一批來料光照差兩檔閾值全廢亞像素定位沒有測量值跳動比公差還大模板匹配要從頭造輪子。后來改成 C# 寫上位機、HALCON 做算法內(nèi)核機器視覺里最費勁的那部分交給成熟算子庫視覺檢測系統(tǒng)里界面、流程、數(shù)據(jù)、報警、配方這些工程活留在 C# 里。這份 C# 與 HALCON 聯(lián)合開發(fā)的機器視覺軟件系統(tǒng)源代碼就是按這個分工搭起來的完整視覺檢測系統(tǒng)相機采集、模板定位、尺寸測量、缺陷判定、結(jié)果落盤、配方切換一條鏈走完。它適合正在做機器視覺方向畢設(shè)或課程設(shè)計的學(xué)生也適合要把一套能跑的 C# 視覺軟件直接搬到自己設(shè)備上改的工程師。2. 需求拆解與選型把「能看見缺陷」翻譯成節(jié)拍、精度和軟件棧2.1 檢測項怎么落成可量化的指標需求溝通里最容易翻車的一句話是「要能檢出劃傷」。這句話沒法驗收也沒法寫代碼。負責(zé)的做法是先把它拆成四列測什么、用什么成像方式測、精度要到多少、判定閾值是多少。檢測項一般分三類——尺寸類長度、直徑、間距、角度、位置類裝配偏移、缺件、錯件、表面類劃傷、臟污、毛刺、壓痕。三類在算法上的實現(xiàn)路徑完全不同尺寸類靠測量工具位置類靠模板匹配加區(qū)域比對表面類多半要靠 Blob 分析、頻域濾波或者差異圖。精度這一欄要用像素當(dāng)量倒推不能拍腦袋。視場 40mm、相機 2448×2048像素當(dāng)量約 0.016mm/pixelHALCON 的亞像素邊緣通常能做到 1/4 像素以內(nèi)折算下來重復(fù)性在 0.004mm 量級。所以一個標稱 ±0.02mm 的尺寸項在這個配置下是有余量的要是公差要求 ±0.005mm那就該換遠心鏡頭、提高分辨率或者上背光而不是指望算法硬扛。我一般會先算這筆賬再談選型省得后面相機都裝好了才發(fā)現(xiàn)精度不夠。檢測項成像方式精度要求判定方式外形長寬背光、遠心鏡頭±0.02mm卡尺工具測邊緣對距離孔位偏移同軸光±0.03mm模板匹配定位后測圓心表面劃傷低角度環(huán)形光最小 0.1mm×2mmBlob 面積長寬比篩選缺件/錯件正面均勻光有無判斷區(qū)域灰度均值與模板比對裝配間隙側(cè)向條形光±0.05mm測量矩形內(nèi)雙邊緣間距節(jié)拍是另一條硬約束。單件 300ms 的產(chǎn)線一次曝光加傳輸大概吃掉 6080ms算法預(yù)算只剩 200ms 出頭還得留出通訊和界面刷新的余量。所以算法流程要做成「先粗后精」先用降采樣圖像做快速定位把 ROI 縮到工件附近再做全分辨率的測量和判定。這套系統(tǒng)的流程編排就是按這個思路排的每個工具只在自己關(guān)心的 ROI 里跑不整圖掃。2.2 C# 做上位機、HALCON 做算法核的分層依據(jù)有人會問HDevelop 也能拖界面為什么還要 C#答案是工程化。產(chǎn)線上的軟件不只是跑算法它要連 PLC、要存追溯數(shù)據(jù)、要做用戶權(quán)限、要支持十幾個料號的配方切換、要能在客戶現(xiàn)場遠程看日志。這些事 HDevelop 做得吃力.NET 生態(tài)里是現(xiàn)成的。反過來純 C# 加 OpenCVSharp 也能做視覺但形狀模板匹配的抗遮擋能力、亞像素邊緣的穩(wěn)定性、標定工具鏈的完整度調(diào)起來的隱性成本很高。所以分工線畫在這里C# 負責(zé)「殼」——界面、流程調(diào)度、多線程、數(shù)據(jù)庫、通訊協(xié)議、配置管理、日志與報警HALCON 負責(zé)「眼」——圖像預(yù)處理、模板匹配、邊緣提取、測量、Blob 分析、標定換算。兩邊通過 HALCON 的 .NET 接口HObject / HTuple交接邊界清晰。這條線畫對了后面加檢測項就是加一個工具類不用動主流程。分層還有個現(xiàn)實好處算法參數(shù)可以外置成配方工藝工程師改參數(shù)不用重新編譯。這套系統(tǒng)里所有閾值、ROI 偏移、匹配分數(shù)下限、灰度上下限都放在配方文件里程序啟動時加載切換料號時熱更新。2.3 算子與相機選型的對照取舍選型時最常糾結(jié)的幾組我把自己會怎么選列出來場景常見選擇 A常見選擇 B我一般選工件有旋轉(zhuǎn)、部分遮擋NCC 灰度匹配形狀模板匹配B對光照變化和遮擋更穩(wěn)邊緣位置測量手寫梯度找極值measure_pos 測量工具B亞像素和抗噪現(xiàn)成表面缺陷提取固定閾值 Blob動態(tài)閾值 形態(tài)學(xué)B適應(yīng)光照漂移大幅面高速采集USB3 面陣GigE 面陣看線長超過 5m 用 GigE精密尺寸普通 FA 鏡頭雙遠心鏡頭B視場內(nèi)的放大倍率一致性更好相機接口這塊GigE 的優(yōu)點是線纜長、多相機組網(wǎng)方便缺點是延遲比 USB3 略高USB3 帶寬足、延遲低但線長限制在 35m工業(yè)現(xiàn)場走線要提前規(guī)劃。這套系統(tǒng)里采集層做了接口抽象換相機只改一個配置項算法層完全不用動——這也是分層帶來的直接收益。提示選型階段就把「精度、節(jié)拍、視場、景深」四個數(shù)寫進需求文檔后面所有爭論都回到這四個數(shù)上比爭論用哪個算子有效得多。3. 總體架構(gòu)設(shè)計三層結(jié)構(gòu)與六個模塊的職責(zé)邊界3.1 表現(xiàn)層、業(yè)務(wù)層、算法層的劃分整套軟件按三層切。表現(xiàn)層是 WinForm 或 WPF 的主界面負責(zé)實時圖像顯示、結(jié)果列表、參數(shù)編輯、報警提示它不碰任何 HALCON 算子只消費業(yè)務(wù)層給出來的結(jié)果對象。業(yè)務(wù)層是流程引擎和調(diào)度中心管著「取圖 → 定位 → 測量 → 判定 → 存檔 → 通訊」這條流水線同時管配方加載、權(quán)限校驗、異常上報。算法層是 HALCON 的封裝每個檢測能力包裝成一個工具類對外只暴露「輸入圖像 參數(shù) → 輸出測量值」這樣的簽名。這樣切的好處是測試好做。算法層的每個工具可以單獨拿一批離線圖片跑回歸業(yè)務(wù)層可以用假的圖像源做流程測試界面層改動不影響算法正確性。做畢設(shè)答辯時這一點特別加分——老師問「你怎么驗證算法是對的」你能拿出分層測試的記錄比說「我跑了一遍看著沒問題」有說服力得多。六個模塊分別是設(shè)備接入相機、光源、PLC/IO、圖像預(yù)處理、定位與測量、判定與分類、數(shù)據(jù)與追溯、配方與權(quán)限。每個模塊內(nèi)部的類只依賴下一層的接口不允許跨層直接調(diào)。比如判定模塊不能自己去讀相機它只接收測量模塊的結(jié)果數(shù)組。3.2 圖像從相機到算法再到數(shù)據(jù)庫的流轉(zhuǎn)通路高節(jié)拍下最容易出問題的是圖像流轉(zhuǎn)。做法是采集與處理分離相機回調(diào)線程只做一件事——把 HObject 塞進一個有界隊列然后立刻返回絕不在回調(diào)里跑算法。算法線程從隊列里取圖處理處理完把結(jié)果對象推到結(jié)果隊列界面線程和存盤線程各自消費。隊列要有界滿了就丟最舊的一幀并記一條丟幀日志避免內(nèi)存無限堆積。// 采集線程與算法線程之間的有界緩沖容量按節(jié)拍和算法耗時估算 private readonly BlockingCollectionHObject _imageQueue new BlockingCollectionHObject(8); // 相機回調(diào)只負責(zé)入隊禁止在這里做任何耗時運算 private void OnImageGrabbed(HObject image) { HObject copy; HOperatorSet.CopyImage(image, out copy); // 回調(diào)緩沖會被復(fù)用必須拷貝 if (!_imageQueue.TryAdd(copy)) { // 隊列滿說明算法跟不上節(jié)拍丟棄并計數(shù)事后看日志定位瓶頸 copy.Dispose(); Interlocked.Increment(ref _dropCount); } } // 算法線程主循環(huán) private void ProcessLoop() { foreach (var img in _imageQueue.GetConsumingEnumerable(_cts.Token)) { using (img) { var result _pipeline.Run(img); // 內(nèi)部依次調(diào)用各工具 _resultQueue.Add(result); } } }這里的關(guān)鍵點是CopyImage。很多相機 SDK 的回調(diào)緩沖區(qū)是復(fù)用的你把引用直接傳出去下一幀到來時圖像內(nèi)容就被覆蓋了現(xiàn)象是「偶爾檢測到上一件的缺陷」這種問題查起來極其折磨??截愐淮蔚拇鷥r遠小于排查成本。隊列容量 8 是按「算法單幀 80ms、節(jié)拍 300ms」估的實際項目里按實測的算法耗時乘 23 倍來定太大反而掩蓋性能問題。3.3 模塊之間的接口約定與異常傳遞工具層統(tǒng)一接口是為了讓流程配置化。每個檢測工具實現(xiàn)同一個契約流程引擎按配方里配置的順序依次執(zhí)行public interface IVisionTool { string Name { get; } // 工具標識配方里按名字引用 ToolResult Execute(HObject image, JObject param); // param 來自配方文件的節(jié)點 } public class ToolResult { public bool Success { get; set; } // 算法是否正常執(zhí)行完 public int ErrorCode { get; set; } // 非 0 表示執(zhí)行失敗界面按碼查提示 public double[] Values { get; set; } // 測量值數(shù)組單位統(tǒng)一為毫米 public bool IsOk { get; set; } // 判定結(jié)論與 Success 分開 public string DefectCode { get; set; } // NG 時的缺陷編碼用于統(tǒng)計 }Success和IsOk必須分開。算法沒跑通找不到模板、圖像過曝、邊緣數(shù)量不對是執(zhí)行異常產(chǎn)品合格與否是判定結(jié)論兩者混在一起會導(dǎo)致「算法失敗被當(dāng)成 NG 品流出去」這在追溯時是災(zāi)難。執(zhí)行異常要走獨立的報警通道讓設(shè)備停下來等人處理而不是默默計數(shù)。結(jié)果落盤用一張主表加一張明細表就夠了主表存單件結(jié)論明細存每個測量項的值方便后面按項做趨勢分析CREATE TABLE InspectionRecord ( Id INTEGER PRIMARY KEY AUTOINCREMENT, Sn TEXT NOT NULL, -- 產(chǎn)品條碼/流水號 RecipeCode TEXT NOT NULL, -- 料號用于分料號統(tǒng)計 Result INTEGER NOT NULL, -- 1OK, 0NG DefectCode TEXT, -- NG 缺陷編碼OK 時為空 ImagePath TEXT, -- NG 圖像存檔路徑 CreateTime TEXT NOT NULL ); CREATE INDEX idx_record_sn ON InspectionRecord(Sn); CREATE INDEX idx_record_time ON InspectionRecord(CreateTime); CREATE TABLE MeasureDetail ( Id INTEGER PRIMARY KEY AUTOINCREMENT, RecordId INTEGER NOT NULL, ItemName TEXT NOT NULL, -- 測量項名稱與配方節(jié)點對應(yīng) Value REAL NOT NULL, LowerLimit REAL, UpperLimit REAL, IsOk INTEGER NOT NULL );索引這兩條不是湊數(shù)。按 Sn 查是為了追溯按時間查是為了做日報和趨勢圖產(chǎn)線上這兩個查詢是每天都跑的。明細表拆出來是因為一個工件可能有十幾二十個測量項塞進主表的 JSON 字段里查起來費勁做 SPC 分析時更難受。4. 核心模塊實現(xiàn)采集、定位、測量、判級四段代碼落地4.1 相機接入與 HObject 的生命周期相機接入層要做三件事打開設(shè)備、配置參數(shù)、穩(wěn)定取圖。HALCON 用open_framegrabber統(tǒng)一封裝各家接口參數(shù)隨接口類型不同而不同具體字段要按相機廠商的接口文檔對齊不能照抄。public class CameraDevice : IDisposable { private HTuple _acqHandle null; private readonly object _lock new object(); public void Open(string interfaceName, string deviceId) { // 參數(shù)順序固定含義依次為接口名、水平/垂直分辨率、起始位置、 // 圖像寬高、場序、位深、色彩空間、泛型參數(shù)、外部觸發(fā)、相機類型、設(shè)備標識 HOperatorSet.OpenFramegrabber( interfaceName, 0, 0, 0, 0, 0, 0, progressive, -1, default, -1, false, default, deviceId, -1, -1, out _acqHandle); // 關(guān)掉自動曝光和自動增益產(chǎn)線上這兩個必須鎖死否則測量值會漂 HOperatorSet.SetFramegrabberParam(_acqHandle, ExposureTime, 8000); HOperatorSet.SetFramegrabberParam(_acqHandle, Gain, 0); } public HObject GrabOnce(int timeoutMs) { lock (_lock) // 同一句柄不能并發(fā)調(diào)用加鎖是最省事的做法 { HOperatorSet.GrabImageAsync(out HObject image, _acqHandle, timeoutMs); return image; } } public void Dispose() { if (_acqHandle ! null) { HOperatorSet.CloseFramegrabber(_acqHandle); _acqHandle null; } } }自動曝光這一條值得單獨說。調(diào)試時開著自動曝光畫面好看上線后光源老化、環(huán)境光變化相機會自己調(diào)增益灰度整體漂移閾值型檢測項集體失效。血淚經(jīng)驗是調(diào)試階段就用固定曝光固定增益把光源亮度調(diào)到能拿到穩(wěn)定灰度的位置之后不再動它。真要適應(yīng)不同料號的反光差異靠配方里的曝光參數(shù)切換不靠相機自動。HObject 是托管包裝的非托管資源必須顯式釋放。用using或者 try/finally 里的Dispose()不能指望 GC。這一點在第 5 章展開。4.2 形狀模板匹配與亞像素定位定位是整個流程的地基定位偏了后面所有測量都偏。做法分兩步建模階段從一張標準件圖像里摳出特征明顯的區(qū)域生成形狀模板運行階段用模板在當(dāng)前圖里找位姿。// 建模在一張合格品圖像上框出特征區(qū)生成形狀模板 public HTuple CreateTemplate(HObject image, double row1, double col1, double row2, double col2) { HOperatorSet.GenRectangle1(out HObject roi, row1, col1, row2, col2); HOperatorSet.ReduceDomain(image, roi, out HObject domain); roi.Dispose(); // 角度范圍 -0.39~0.39 rad約 ±22.5°覆蓋來料旋轉(zhuǎn) // 金字塔層數(shù)、對比度、最小對比度都交給 auto讓算子按圖像自選 HOperatorSet.CreateShapeModel( domain, auto, -0.39, 0.79, auto, auto, use_polarity, auto, auto, out HTuple modelId); domain.Dispose(); return modelId; } // 運行在當(dāng)前圖中查找返回行、列、角度、得分 public bool Find(HTuple modelId, HObject image, out double row, out double col, out double angle) { HOperatorSet.FindShapeModel( image, modelId, -0.39, 0.79, 0.7, // 最小得分低于它認為沒找到 1, // 最多找?guī)讉€匹配單件檢測取 1 0.5, // 重疊度 least_squares, // 亞像素模式精度最高的那一檔 0, // 金字塔層數(shù)0 表示用建模時的設(shè)置 0.9, // 貪婪度越大越快越可能漏 out HTuple r, out HTuple c, out HTuple a, out HTuple score); row r.Length 0 ? r.D.ToArray()[0] : 0; col c.Length 0 ? c.D.ToArray()[0] : 0; angle a.Length 0 ? a.D.ToArray()[0] : 0; return score.Length 0 score.D[0] 0.7; }參數(shù)里最需要現(xiàn)場調(diào)的是MinScore和Greediness。MinScore 定太低0.5 以下會把相似結(jié)構(gòu)誤認成目標定太高0.85 以上則在來料表面有輕微臟污時找不到。經(jīng)驗值是先設(shè) 0.7拿一批包含邊界樣本的圖跑看得分分布取一個能把 OK 品和誤匹配分開的閾值。Greediness 默認 0.9如果發(fā)現(xiàn)偶爾漏檢先往 0.8 降一檔試試速度會慢一些但更穩(wěn)。建模區(qū)域的選擇也有講究不要選大面積的均勻區(qū)域那種區(qū)域沒有梯度信息模板會退化成靠邊緣支撐抗噪能力差要選帶角點、圓孔、缺口這類強特征的位置。模板圖像盡量用實際產(chǎn)線的相機和光源拍別拿實驗室的樣品圖湊合光學(xué)條件不一樣模板的對比度參數(shù)就不對了。4.3 測量與判級從像素值到 OK/NG 結(jié)論有了位姿測量就好辦了。思路是把模板坐標系里定義好的測量位置通過剛性變換映射到當(dāng)前圖像的實際位置再用測量工具在映射后的位置取邊緣。這樣來料有平移旋轉(zhuǎn)也不影響。// 模板坐標系下的基準點與測量矩形參數(shù)建模時在標準件上確定 private const double TplRow 512.0; private const double TplCol 640.0; private const double TplAngle 0.0; public double MeasureGap(HObject image, double mRow, double mCol, double mAngle, JObject param) { // 1. 用匹配位姿構(gòu)造模板坐標 - 當(dāng)前圖像坐標的剛性變換 HOperatorSet.VectorAngleToRigid(TplRow, TplCol, TplAngle, mRow, mCol, mAngle, out HTuple homMat2D); // 2. 把模板里定義好的測量中心映射過去測量框跟著工件一起轉(zhuǎn) HOperatorSet.AffineTransPoint2d(homMat2D, TplRow, TplCol - 80, out HTuple row, out HTuple col); HTuple phi TplAngle mAngle; // 3. 生成測量矩形長 60 寬 12方向沿工件邊插值選雙線性 HOperatorSet.GenMeasureRectangle2(row, col, phi, 30, 6, 60, 12, bilinear, out HTuple handle); // 4. 在矩形內(nèi)找邊緣對sigma1.0 抑制噪聲threshold30 控制靈敏度 HOperatorSet.MeasurePos(image, handle, 1.0, 30, all, all, out HTuple edgeRow1, out HTuple edgeCol1, out HTuple amp1, out HTuple edgeRow2, out HTuple edgeCol2, out HTuple amp2, out HTuple intraDist, out HTuple interDist); HOperatorSet.CloseMeasure(handle); if (intraDist.Length 1) throw new VisionException(1001, 測量框內(nèi)未找到成對邊緣檢查光照或測量框位置); // interDist 是相鄰邊緣間距像素乘像素當(dāng)量換成毫米 double pixelScale param.Valuedouble(PixelScale); // 由標定得到如 0.0163 return interDist.D[0] * pixelScale; }Sigma和Threshold這兩個參數(shù)是測量的手感所在。Sigma 是高斯平滑的系數(shù)來料表面粗糙、圖像噪點大就調(diào)大到 1.52.0代價是邊緣位置會被輕微模糊精度略降圖像干凈就保持 1.0 甚至 0.8。Threshold 是邊緣幅度閾值它決定什么算作邊緣——太低會把噪點當(dāng)邊緣太高會漏掉對比度弱的真實邊緣。穩(wěn)妥的做法是打開邊緣幅度輸出看一批圖的幅度分布把閾值定在噪聲幅度和真實邊緣幅度之間。判級就是拿測量值和配方里的上下限比public (bool ok, string defectCode) Judge(double value, JObject param) { double lower param.Valuedouble(LowerLimit); double upper param.Valuedouble(UpperLimit); double tol param.Valuedouble(JudgeTolerance); // 判定死區(qū)默認 0 // 死區(qū)的作用剛好卡在邊界上的值做二次確認避免 OK/NG 反復(fù)橫跳 if (value lower - tol) return (false, param.Valuestring(DefectCodeLow)); if (value upper tol) return (false, param.Valuestring(DefectCodeHigh)); return (true, null); }判定死區(qū)這個小設(shè)計在批量生產(chǎn)時很關(guān)鍵。沒有它的時候一個值在上下限附近抖同一個工件可能這次 OK 下次 NG操作員會懷疑設(shè)備有問題。加了死區(qū)之后邊界附近的值統(tǒng)一往寬松方向靠配合趨勢圖看反而更容易發(fā)現(xiàn)工藝漂移。NG 圖像一定要存。存圖策略按「日期 / 料號 / 時間戳_缺陷碼」的目錄結(jié)構(gòu)落盤保留最近 30 天超期自動清理。這張圖在后續(xù)分析缺陷成因、和供應(yīng)商扯皮的時候是唯一的證據(jù)鏈。4.4 配方管理換料號不改代碼配方是這套系統(tǒng)里最能體現(xiàn)工程成熟度的部分。十幾個料號每個料號的 ROI、閾值、模板、上下限都不同如果寫死在代碼里每換一次料就要改代碼重新發(fā)版現(xiàn)場根本沒法用。配方的組織方式是一棵 JSON 樹根節(jié)點是料號下面是工具鏈數(shù)組每個工具節(jié)點帶自己的參數(shù){ RecipeCode: P-1024, PixelScale: 0.0163, Tools: [ { Name: Locate, Type: ShapeMatch, TemplateFile: tpl_1024.shm, MinScore: 0.72, AngleStart: -0.39, AngleExtent: 0.79 }, { Name: GapA, Type: MeasurePair, RefRow: 512, RefCol: 560, LowerLimit: 1.98, UpperLimit: 2.06, JudgeTolerance: 0.005, DefectCodeLow: GAP_SMALL, DefectCodeHigh: GAP_LARGE }, { Name: Scratch, Type: BlobDefect, MinArea: 120, MaxAspect: 8.0, GrayLow: 40, DefectCode: SCRATCH } ] }流程引擎按Tools數(shù)組順序執(zhí)行遇到Locate就把位姿寫進上下文后面的測量工具從上下文里取。新增一個檢測項只是在數(shù)組里加一個節(jié)點代碼零改動。配方的加載和熱切換要注意兩點一是切換時必須在流程空閑的間隙做不能在一件工件處理到一半時換參數(shù)二是每次切換記一條日志包含料號、操作人、時間出問題時能對上是哪次切換引入的偏差。注意配方文件建議加版本號和校驗值現(xiàn)場出現(xiàn)過配置文件被人手工改壞、程序啟動直接崩的情況加個校驗?zāi)芴崆皵r住。5. 避坑與常見問題排查內(nèi)存、線程、標定三處最容易翻車的地方5.1 內(nèi)存只漲不落現(xiàn)象程序跑兩三個小時內(nèi)存從 200MB 漲到 2GB最后卡死或者被系統(tǒng)殺掉。原因幾乎都是 HObject 沒釋放。HALCON 的圖像和區(qū)域?qū)ο蟮讓邮欠峭泄軆?nèi)存C# 的 GC 只回收包裝對象不會主動去釋放底層句柄峰值節(jié)拍下對象創(chuàng)建速度遠超終結(jié)器回收速度句柄就堆起來了。解決方法是所有 HObject 都走using或者在方法末尾顯式Dispose()尤其注意異常分支——try 塊里創(chuàng)建了對象catch 里直接 return那個對象就漏了。// 反面寫法異常一拋img 和 region 都不會被釋放 HObject img; HOperatorSet.ReadImage(out img, path); HObject region; HOperatorSet.Threshold(img, out region, 0, 128); DoSomething(region); // 若這里拋異常上面兩個對象泄漏 // 正確寫法用 using 包住無論走哪條分支都釋放 using (HObject img new HObject()) using (HObject region new HObject()) { HOperatorSet.ReadImage(out img, path); HOperatorSet.Threshold(img, out region, 0, 128); DoSomething(region); }排查手段任務(wù)管理器看句柄數(shù)比看內(nèi)存更準句柄只漲不落就是泄漏。也可以在每個流程節(jié)點前后打一條get_system(handle_count)的日志幾個循環(huán)就能定位到是哪個工具漏了。5.2 多線程下的偶發(fā)崩潰現(xiàn)象單線程跑一天沒事改成多線程后隨機崩報的是訪問沖突或者算子內(nèi)部錯誤日志里看不出規(guī)律。原因是 HALCON 的 HTuple 和 HObject 不是線程安全的兩個線程同時操作同一個對象或者在 A 線程創(chuàng)建、B 線程釋放都可能出問題。解法是「誰創(chuàng)建誰釋放跨線程只傳值不傳引用」算法線程處理完把測量值double 數(shù)組和結(jié)果碼傳出去不要把 HObject 傳來傳去確實要傳圖像就在目標線程里CopyImage一份。另外 HALCON 的算子在內(nèi)部已經(jīng)做了并行外層再開一堆線程搶 CPU 反而是負優(yōu)化算法線程一般開 12 個就夠。5.3 標定與像素當(dāng)量換算翻車現(xiàn)象測量值整體偏大或偏小百分之幾重復(fù)性很好但準確度不對。原因多半在像素當(dāng)量上。像素當(dāng)量不是拿標稱視場除分辨率算出來的那個值忽略了鏡頭畸變和實際放大倍率偏差。正確做法是拿一塊標準量塊或者標定板在同一工作距離下拍圖量出已知長度對應(yīng)的像素數(shù)兩者相除。更嚴謹?shù)淖龇ㄊ亲龆帱c標定把鏡頭畸變一起擬合掉視場邊緣的測量值才不會系統(tǒng)性偏大。還有個容易忽略的點更換鏡頭、調(diào)整工作距離、甚至相機被撞了一下像素當(dāng)量都要重新標。我見過一個項目調(diào)試時標定過后來調(diào)焦換了鏡頭沒重標整批產(chǎn)品尺寸超差卻判 OK流到客戶那邊才發(fā)現(xiàn)。現(xiàn)在我的習(xí)慣是每次動過光學(xué)系統(tǒng)就在配方里改標定日期并在開機自檢里加一條「標定有效期提醒」。5.4 觸發(fā)時序錯位與丟幀現(xiàn)象檢測結(jié)果和產(chǎn)品對不上號或者偶爾漏檢一件。這類問題多半在觸發(fā)鏈路上。相機是硬觸發(fā)還是軟觸發(fā)、PLC 給信號到相機曝光的延遲多少、編碼器分頻對不對、光源頻閃和曝光是否同步任何一環(huán)錯位都會導(dǎo)致「拍到了相鄰的一件」。排查方法是拿一張帶標記的樣件連續(xù)跑 100 件把每件的圖像和條碼一一對應(yīng)看錯位會立刻暴露。修復(fù)上硬觸發(fā)優(yōu)先于軟觸發(fā)觸發(fā)信號走光耦隔離別用普通 IO 直連曝光時間和光源延時要在配方里成組配置不能分開調(diào)。5.5 部署環(huán)境缺運行庫現(xiàn)象開發(fā)機上跑得好好的拷到產(chǎn)線電腦上雙擊就報錯或者一打開相機就崩。原因是目標機缺 HALCON 運行時或者 .NET 運行時版本不匹配也可能是相機廠商的驅(qū)動沒裝、網(wǎng)卡巨幀沒開。部署前要列一張環(huán)境清單.NET 運行時版本、HALCON 運行庫位數(shù)32/64 位必須和主程序一致、相機驅(qū)動版本、網(wǎng)卡巨幀和中斷親和性設(shè)置、系統(tǒng)電源計劃改成高性能別讓 CPU 降頻。這張清單每次部署都過一遍比現(xiàn)場抓瞎強。6. 驗收與答辯用一組可復(fù)現(xiàn)的數(shù)據(jù)證明系統(tǒng)「測得準、跑得穩(wěn)」驗收這一步很多人栽在「我說它準」上。合格的做法是拿數(shù)據(jù)說話而且數(shù)據(jù)要可復(fù)現(xiàn)。我一般準備三組測試準確性測試、重復(fù)性測試、穩(wěn)定性測試。準確性用標準件。拿 10 件已知尺寸的標準件或者三坐標測過的樣件每件測 10 次算每個測量項的平均值和標準值的偏差。偏差要小于公差的三分之一超了就得回去查標定或者算法。重復(fù)性用同一件產(chǎn)品連續(xù)測 30 次算標準差這個數(shù)反映的是系統(tǒng)自身的抖動一般要求小于公差的十分之一。穩(wěn)定性是連續(xù)跑 48 小時統(tǒng)計總檢數(shù)、誤檢數(shù)、漏檢數(shù)、算法異常次數(shù)同時記錄內(nèi)存和句柄曲線。驗收項指標測試方法記錄內(nèi)容測量準確性偏差 ≤ 公差/310 件標準件 × 10 次均值、偏差、最大值重復(fù)性標準差 ≤ 公差/10同件連續(xù) 30 次標準差、極差檢出率≥ 99.5%200 件含已知缺陷樣本漏檢數(shù)、漏檢類型誤檢率≤ 0.5%200 件合格品誤檢數(shù)、誤檢原因節(jié)拍≤ 設(shè)計值連續(xù) 500 件計時平均、P95、最大值長時間穩(wěn)定性8 小時無異常連續(xù)運行內(nèi)存曲線、異常次數(shù)節(jié)拍統(tǒng)計最好在程序里內(nèi)建別拿秒表掐// 每個流程節(jié)點前后打點落庫后直接出 P95 報表 var sw Stopwatch.StartNew(); var result _pipeline.Run(image); sw.Stop(); _repo.SaveTiming(result.Sn, result.RecipeCode, sw.Elapsed.TotalMilliseconds);答辯時的講法我的建議是倒過來講先講誤檢漏檢的數(shù)據(jù)和你是怎么把這兩個數(shù)壓下去的再講架構(gòu)和代碼。老師最想聽的不是「我用了什么技術(shù)」而是「你怎么知道它是對的」。你可以拿出那張 200 件樣本的混淆矩陣講某一類缺陷一開始漏檢率 8%查下來是 Blob 面積下限設(shè)太大把下限從 200 調(diào)到 120 之后降到 0.5%——這種帶數(shù)字的調(diào)試過程比任何架構(gòu)圖都有說服力。還有一個常被問到的點如果換個料號怎么辦。這時候現(xiàn)場演示配方切換30 秒內(nèi)完成切換后連續(xù)跑 20 件全部正確這一下就把「課程作業(yè)」和「能交付的系統(tǒng)」區(qū)分開了。從那以后我每次做完一套視覺系統(tǒng)驗收前都強制走一遍「標準件 重復(fù)性 8 小時連續(xù)跑」這三關(guān)哪怕時間再緊也不跳。跳過一次后面在現(xiàn)場補的功夫是省下來那點時間的好幾倍。希望這套結(jié)構(gòu)和記錄方法能幫到你需要對照完整實現(xiàn)的話倉庫里的源代碼可以直接拿去做參考。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
老司机午夜精品视频| 欧美日韩亚洲天堂网| 天天日天天干少妇日| 青青草亚洲一区 | 久久亚洲不卡| 一类av片在线看| 久久久久女教师免费一区 | 啪啪啪东京| 国产成人主播| 亚洲精品男人的天堂| 国产多人在线观看视频| 天天在线91| 亚洲麻豆精品二区三区| 中文字幕 国产 精品| 激情在线青青操| 美女主播色欲91抠b在线播放| 亚洲成?V人片在线观看福利| 欧洲色| 欧美色就是色| 欧美日综合| 成人五月天色网| 九九热在线精品视频| 日韩熟女操逼| 思思热一热婷婷热一热| 欧美 亚洲 综合 制服 另类| 97硬碰| 一区二区娱乐网站| 蜜乳av首页| 韩日色费| 久久久国产亚洲精品系列| 操人妻逼91| 国产一级特黄大片处女| 最新9久久久9免费视频| 午夜偷拍久久熟女| 一二三四区电影| 五月婷婷啪啪| 老司机午夜精品视频| av婷婷色网| 91色婷婷综合久久中文字幕二区| 97色冈| 色视频蜜乳| 日本999精品视频| 免费久久一级毛片大黄| 四虎884| 中文字幕交换人妻| 懂色Av一区二区三区| 久久97| 丝袜视频网国产90| 2020久久免费视频| 日影院久久婷婷夜夜网| 亚洲最新中文字幕免费| 亚洲成人激情小说视频| 噜噜噜噜久久久精品免费| 中文字幕熟女人妻丝袜丝| 中国熟女91| 99re热| 97精品在线| 欧美亚州色的图| 五月开心久久AV官网| 亚洲欧美另类少妇精品| 麻豆一区在线| 亚洲色婷婷综合久久一区二区三区| 天天做天天爱天天高潮| 欧美性爱精品七区| 色色色欧美| 中文字幕精品日韩中文字幕| 99操逼| 丰满人妻一区二区三区免费,| 欧美日韩国产色图在线| 日本天天人人狠狠在线日美女| 玖玖97综合| 亚洲天堂色图| 欧美白嫩在线放| 综合九九| 色婷婷一区二区三区久久| 九七超碰| 欧美强奸一区二区诱惑| 97色色视频| 九九热精品免费视频| 日韩去日本高清在| 亚洲影院成人| 大屁股xxxxx| 色婷婷丁香五月天| 国产乱码久久久久久| 一区二区三区看视频| 成年人黄色| 久久中文字幕一区不卡| 国产精品呦一区二区三区| 亚洲黄网在哪免费看| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 丁香婷婷激情五月天无毒不卡| 97超碰免费生活| 99久在线精品99re8| 91制服丝袜中文字幕| 国产成人自拍视频在线| 9/A片 | 天天欧美| 国产高清在线观看欧美| 神马久久久久眼| 欧美国产操逼| 国产强奸AV在线| 精品人妻视频入口| 97看操| 欧美96在线|欧| 麻豆AV96熟妇人妻| 国产精品乱码久久久久| 亚洲无码久久久久久久| 久日综合网| 亚洲色91| 色婷婷六月| 男人天堂综合| 色九久| 在线视频免费播放一区| 1204av韩国| 人人妻人人玩人人澡人人爽| 天天看,天天做| 按摩中文字幕| 国产捆绑一区| 国产999精品久久久久久| 尤物AV免费网站| 九九精品99| 厕所偷拍在线| 91亚洲在线| 91三级理论片播放器| 欧美一区二区日韩传媒搭讪精品| 美女黄站| 色97| 久久九操在线观看| a在线观看| 超碰色大香蕉| 日本大片日本一区二区免费高清 | 久久手机好看网站| 亚洲狠| 尤物视频偷拍免费| 成人三一级一片aaa| 亚洲精品色| 人人操人人摸人人骑| 女人爽到高潮潮喷18禁网站| 99精品九九九九九九| 久久久精品国产亚洲AV无码| 我要色综合网站| 不卡啪啪视频| 欧美激情亚洲| 国产精品久久久久久久毛片1| 日韩欧美中文字| 诱惑人妻欧美一区在线播放| 人人妻人人爽 97人人看碰人免费公开视频| 在线啊v一区| 中文字幕精品资源在线| 男人天堂一区二区| 91精品国久久久久久无码| 91欧美性| 麻豆久久一区二区三区| 人人考人人摸人人干| 日本特黄f c2| 亚洲自拍一区夜夜操| 超碰亚洲欧美日韩无| 第四色色综合91| 韩国嫰模上门援交视频| 97网站在线观看 | 夜夜躁狠狠躁日日躁av| av网站在线观看了| 九九亚洲| 亚洲天堂日本| 麻豆久久一区二区三区| 黑人黄片在线免费观看| 欧美亚洲性爱一区二区| 97碰碰日本乱偷人妻中文的| 2017天天插| 中文字幕,人妻,日韩| 日韩av不卡在线观看| 五月丁香六月婷| 久草资源在线视频官方总站日韩丝袜美腿| 性性久久| 国产精品粉嫩福利在线| 国产JDAV无码视频在线观看| ji熟女.com| 久久婷婷色| 口爆综合网| 91 国产丝袜在线放观看 | 亚洲成人性爱网站在线播放| 成人片在线播放| 夜夜操av亚洲一区二区| 日本高清熟女久久一区| 久久精品午夜国产亚洲AV无码| 久久五月天婷婷| 天美一二三在线观看Av| 亚洲天堂男人天堂网| 久久精品高清AV| 日本中文字幕高跟| 欧美天天射| 在线观看黄色电话| 男人的天堂在线2| 欧美骚少妇| 成人a v在线播放免费| 簧片免费看视频| 天天看特黄的免费网站| 婷婷操视频| 激情五月丁香五月| 夜夜嗨一区| 黄片免费久久久久久久| 色噜噜人妻丝袜AV资源| 日本一区二区中文字幕久久| 男人的天堂不卡一区二区 | 亚洲人在线| 蜜臀久久99精品久久久久久婷婷| 久久精视频美日韩在线视频| 97就爱干| 女人高潮大叫一级毛片| 中文字幕熟女人妻丝袜丝| 久久69精品久久久久久久| 日本不卡三级网在线播放| 亚洲AV在线资源| 热久久国产| 亚洲av在线免费观看| 天天久久久久久| 国产亚洲禁久一区二区 | 日本性爱少妇| 亚州欧美在线| 午夜久久无码1000合集| 97色97好| 亚洲五码一区二区三区| 久草毛片| 色色色综合网| 女性91网站| 中文字幕在线观看AV| 激情综合网激情综合| 久久久久精| 青娱乐国产剧情av一区| 中文字幕片| 91国产操逼视频| 热久久99999| 在线色导航| 婷婷成人久久久精品| 91亚洲高清| 男人天堂站| 少妇一区二区三区精选| 日韩无码服务区| 婷婷综合久久| 亚洲啪啪视频免费| 色婷婷A V一二三四区麻豆综合| 欧美一级做a爰片免费视频| 久久久999国产精品| 国产亚洲一黄| 亚洲图片色图欧美另类| www.久久超碰| 3571色综合一区二区二区| 激情小说亚洲色图| 欧美综合777| 91超级碰碰碰| 免费一级性爱久久| 日日夜夜骑| 熟妇女人妻呻吟久久AV| 日韩激情中文字幕有码| 精品大全99999| 日韩免费人妻色情网站| 国产成人欧美一区二区三区的国产| 色眯眯av| 91色碰| 国产精品 久久久精品一牛| 韩国毛片一区二区三区| 久视频在线观看| 日va操| 精品免费一区| 亚洲系列欧美| 午夜成人福利影视| 天天综合网站| 手机在线视频国内精品| 福利视频香蕉免费一区二区在线| 吊色| 熟妇熟女一区二三区| 亚洲国产麻豆一区二区三区| 久久久久亚洲三级电影| 九九九九9999| 亚洲色欧| 久婷婷一区| 丰满人妻大屁一区二区| 韩国一级婬片A片无码天美| 国产欧美另类久久久精品课程| 在线观看A啊啊啊| 91三级理论片播放器| 97精品一区二区三区免费| 小草av不卡亚洲二区| 亚洲色天堂日韩中| 综合久久99| 91在线精品| TS人妖另类精品视频系列| 亚洲区限制级 99| 蜜臀人妻少妇久久在线观看| 激情五月天视频| 福利操逼| 人人看欧美性爱| 亚洲综人| 成年男人的天堂| 天无日色综合| 欧美男人一区| 人成午夜免费大片| 黄色小视频日本txt| 日本性交操一区二区不卡系列| 97综合激情| 97欧美色| 伊人网一本| 男人天堂站| 狠狠干综合| 国产超碰在线| 丁香激情网| 人人扣人人操| 久久久久久欧美精品se一二三四| 蜜乳AV一区二区三区四| a天堂视频| 色黄污美女啪啪啪免费网站| 在线观看一级α片刺激高潮视频| 又粗又长又大国产不卡| www.av家庭乱伦| 精品玖九九久| 99国产精品| 亚洲日韩美女丝袜美腿人妻视频| 在线播放欧洲免费av| 精品无码产区一区二| 欧美传媒一区| 久久熟女精品不卡一区| 96国产精品| 91美女视频直播| 一级AAA片一区二区三区| 97精品一区| 91精品婷婷国产综合久久竹菊| 精品国产一区二区三区久久久蜜臀| 国产久久视频| 人妻丝袜肏逼| 使劲用力艹少妇视频一区二区| 伊人伊人LD| 大屁股国产在线视频| 久久女女| 亚洲最新Av| 亚洲欧美日韩二区视频| www色日本| 欧美性爱第一区| 国产 丝袜 欧美中文 另类| 91狠狠综合久久久| 亚洲一区二区AV| 亚洲综合另类| 激情综合二| 97人人操人人干| www.av在线观看| 91超碰人人| 九九成人精品| 夜夜夜夜爽| 熟妇熟女一区二区三区| 国产自产自拍| 把腿张开老子CAO烂你| 九九成人视频| 97一本大道亚洲一区| 久草毛片| 国产精品久久久久久久久久久久久久吹 | 天美精品原创av片国产| 日韩在线观看字幕精品| 日本三级久| 中文久久96| AV色图| 日日操夜夜操天天操免费观看麻豆| 久久精品国产亚洲AV清纯| 无码国产精品久久久久| 高凊专区人人操| 色香综合天天影视综合 | 久久久久国产精品人妻aⅴ天堂| 日日妻色网| 亚洲色狠| 狠狠操夜夜| 免费视频在线观看啊啊啊啊啊| 超碰98综合网| 韩国三级一线观看久| 日产欧美电影一区二区三区| 色五月婷婷久久| 夜夜综合| 91丨国产丨白浆秘 洗澡动漫| 天天干天天狼在线视频| 插老姨肥穴| 国产极品馒头逼| 色色色欧美| 人人综合| 欧美中日韩XXXX| 少妇xx精品| 色女综合| 9久在线视频只有精品| 国产动漫操逼视频| 精彩久久中文| 日本色色视频网站| 欧美亚洲美少妇一区二区| 欧美天天| 丰满人妻一区二区三区四| 91欧洲入口| 日韩精品字幕| 人妻一区久久二区三区色播| 精品免费囯产一区二区三区| 操逼操操操91| 天天草AV| japan日本高清乱xxxx| 日韩久久艹| 51久久夜色精品国产麻豆| 嗯嗯嗯啊啊啊在线免费观看| 啊啊啊免费| 欧美亚洲日韩人妻在线观看| 欧美色干| a网站免费观看| 亚洲97资源| 亚洲精品成人激情在线| 亚洲色棕合| 国产午夜无码片在线观看影视| 国产亚洲精品美女| 天天躁日日躁XXXXYY| 国产一区二区久久| 黄片www.| 国产白丝网站| 天天添天天干电影| 亚洲男人综合| 人妻无码后入| 日本成人电影资源网| 好舒服视频| 国产美女mm131爽爽爽爽| 乱子伦一区二区三区国产精品| 久久精品福利影院| 91麻豆一二三区| wwwcaobibi| 亚洲春色欧美| 色色色五月婷婷| 2020中文字幕在线| 亚洲av在线免费观看| 日韩亚洲欧美中文字幕| 动漫片子网站3黄| 日va操| yazhououmeizongya| 91大学精品激情戏| 欧美区亚洲区偷拍区| 99re只有精品| 免费一级毛片在线视频观看| 偷拍 亚洲 欧美| 亚洲 欧美 另类 综合 偷拍| 91爆操视频| 国产免费小视频| 欧美三级不卡| 国产精品无套内谢| 97在线视频免费看| 伊人久久88国产女| 亚洲国产精品9999在线观看| 中文一区二区| 亚洲日韩AV视色| 一区二区三区亚洲| 91无码人妻精品一区二区三区蜜桃| 亚洲人妻av| 老熟女搡BBBB搡BBBB视频| 天堂精品小草| 久久精彩免费视频| 九九综合网| 日日夜夜天天| 黄色片一区二区三区四区五区| 亚洲永久AV无码精品秋霞| www成人啪啪18秘 免费| 私人尤物在线精品不卡| 97在线青| 天天干人妇| 黄色视频高清无码网站| 91N综合网| 国产天天看| 深爱五月婷婷| 国产辣妈在线视频福利| 国产精品农村妇女| 日本加勒比无码专区一二三| 久久婷婷在线观看视频| 国产aⅴ无码片毛片一级网站| 天天综合网~91| 97视频新免费| 嫩草伊人久久精品| 国内外色色色色色成人视频| 国产精品一区二区亚洲人成毛片| 加勒比综合| 亚洲欧洲色情高清| 精品91摸| 嗯嗯啊在线视频| 一级特级aaaa毛片免费观看 | 国产原创自拍| 国产精品国产拍高清AV| 久久久精品无码亚免费| 日本不卡高清视频| 乱伦熟女专区| 日本羞羞的视频在线播放| 大香蕉欧美国产日韩高潮| 丝袜制服字幕在线| 色哟哟的毛片| 亚洲高潮少妇| 九九内射在线| 欧美性爱精品一区二区| 国产18精品亚洲精品| 岛国网址国产 | 五月丁香网站| 99色天堂| www.99在线| 无遮挡猛进视频免费无限观看| 国产三级在线现体验区| 国产精品盗摄 偷窥盗摄| 国产精品不卡高清在线观看| 天美传媒精品一区二区| 99热| 成人无码在线超碰网| 国产综合久久久麻桃个| 国产又大又粗又长视频| 精产品久久| 久夜操| 超碰97COm中文| 五月天人妻综合| 五月天人妻综合| 亚洲图片欧美另类综合免费视频大大香| 美女91在线观看| 屌妞视频久久久久久久久久久久| 91搞逼视频| 亚洲激情在线| 色香色香欲天天天影视综合网| 婷婷伊人綜合中文字幕小说| 夜色五月天| 美女啊啊啊啊pc| av亚洲天堂资源网站| 大香蕉国产中文自拍| 999九九精品| 超碰综合97在线| 日韩AV噜噜噜一区二区三区四区| 97碰碰色| 69XX一中文字幕人妻91| 国产精品人人爽人人做可爱福利| 最新中文字幕精品在线| 大香蕉丝袜一级片| 久久久亚洲精品电影免费看| 热久久99999| 色哟哟av| 思思热国产高清| 草草影院最新网址| 人人扣人人操| 97激情97激情| 肉丝中文无码高清| 亚洲图片欧美色图| 岛国黄色大片网站| 97亚洲综合电影| 人妻丝袜肏逼| 91 天天综合| 日韩中文字幕视频| 天天射影院| 国产精品欧美激在线| 超碰9 7女人| 日韩视频中文字幕| 国产三级电影免费观看| 欧美综合色站| 97资源站国产精品| 欧美日产国产在线成人第一区| 天天日天天干天天整| 精品99999久久久久久| 啊啊啊啊啊啊啊在线| 少妇久久久| 乱伦日本色图AⅤ| 日韩熟女精品无码专区一区二区| 久射吧| 日韩精品一区二区高清| 五月色综合| 天天干人妻| 激情综合网亚洲| 国产福利影视| 欧美91网站| 欧美91精品国产自产| 手机看片1025| 好舒服视频| 国产精品ww久久| 亚洲AV成人无码一区二区三区在线观看| 熟妇一区二区三区| 美女啊啊啊啊啊| 久精品无码av一区二免费国产在线观看 | 99热亚洲天堂| 久久久久元码视频| 日韩免费福利在线观看| 混色激情av| 1024精品在线| 精品一区二区亚洲国产| 青草影院内射高潮| 亚洲 自拍偷拍 欧美| 亚洲一二三精品久久网 | 色999人与兽| 久操免费电影| 午夜国产成人福利视频| 一二视频神马久久传媒| 国产理论视频在线播放| 一本大道综合伊人精品热热| 成人a v在线播放免费| 人妻少妇精品一区二区三区| 十八禁黄色| 日韩在线观看中文字幕视频| 97国产中文| 日本熟女中文字幕一区| 无码人妻精品一区二区三区九九| 国产欧美精选自拍一区| 精国久久一区二区三区98| 91东京热男人的天堂| 国产久久一区二区三区野外在线| 78m啪啪啪| 日本女人操逼| 精精品人妻一区二区三区| 国产亚洲日本精品在线| 爱欲AV| 日韩精品操少妇| 天天射日日干| 男女激情黄色网址| 手机不卡视频不卡在线一二三区 | 一级黄碟在线观看| 久九干| 超碰日韩人妻| 日韩av色图综合| 五月天久久综合网| 亚洲老司机123专区| 神马久久久久久伦理片| 中文字幕伊人| 午夜免费福利视频一区| 99re98| 天天干天天日天天射黄色| 免费一二区| 99久热| dy888午夜老子影视达达兔| 国产青一二三| 手机在线A片| 久操视频在线| 狼人久草| 热99这里有精品综合久久 | 91黑丝少妇| 99国产在线 精品 视频| 亚洲骚男同com| 五月天色综合| 性饥渴少妇av无码毛片| 国产精品国产| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 精品一区二区综合熟妇| 亚州欧美在线| 国产乱弄免费在线视频。| 91人精品妻入口| 97视频新免费| 欧美日韩国产色图在线| 黄色成年| 亚州久久9| 色人久久| 亚洲本色精品一区二区久久| 久久久久久久久久久久久久久久9| 亚洲图片欧洲图片aⅴ| 天天摸天天操视频| 歐美性天天| 福利操逼| 天天综合网在线观看| 久久色一区二区| www色日本| 婷婷激情啪啪| 中国农村熟妇毛片视频| 国产青青综合伊人| 午夜欧美J进J出白浆流出久久久 | 天天情欲宗合网| 91狠婷| 无码人妻精品一区二区中文| 亚洲熟女诱惑| 日韩噜噜69| 99热精品在线观看| 国产性爱在线视频一区二区| 老熟妇一区二区三区| 人妻嗯啊啊在线播放| 色呦呦国产精品免费看| 2003天天干夜夜操| 在线黄色污污网站| 狠狠中文字幕| 色五月丁香五月| 艹精品| 白丝被操91| 色婷婷一区二区三区久久| 日韩二区三四区五区六区在线看| 午夜欧美神马久久久久| 亚州情色j区| www.色操逼| 五十路三级片| 国产一区二区三区视频在线看| 日夜伊人网| 国产精选视频| 色哟哟精品1精品2| 亚洲drav色图| 久久爱超碰网| 九九九久久久久| 夜夜操夜夜爽夜夜高潮| 香蕉婷婷| 欧美在线播放aaaa| av片在线观看免费播放| 尤物国产一区在线观看| 国产精品又黄又猛又粗| 亚洲丝袜诱惑| 欧美劲爆第一页| julia国产在线| 插插综合网天天影视网| 97欧美色| 欧美在线大香999| 国内精品久9| 久久久久幕乱码| 久久久成人免费av电影| 玖玖爱伊人玖玖爱| 久欲AV| 999九九九九国产动| 大香蕉92| 亚洲综人| 91精品人妻一品二品三品| 色偷偷超碰亚洲| 99国产精品自在自在| 国产麻豆福利av在线播放| 强奸乱伦大香蕉| 欧美色性爱| 国产树林里野战在线看| 综合色啪| 99re久久| 久久天天摸| 青青草伊人久久| 日韩美女高潮喷水视频| 加勒比人妻综合| 青青草在线视频播放器| 欧美 色 亚洲| 97色97干| 久久五十路熟女人妻| 亚洲成人无码影院| 国产又爽又黄| 久久婷婷国产一区二区色| 中文字幕亚洲欧美在线不卡| 久久久∴| 后入精品| 肏逼视频日本| 天天视频综合在线观看视频| 色婷婷网| 日本三级人妻a人妻一在线| 日本999精品| 啊啊啊好舒服视频在线观看| 超碰社区97| 欧美91在线| 岛国大片在线观看网站入口| 你懂得91| 色第一页| 天天欲望网| 亚洲97成人在线观看| 亚洲天堂7777| 殴美,日韩国产伦精品| 青青国产在线拍揄自揄拍| 超碰综合色| 96国产精品| 人妻偷拍一区二区三区| 国产又色又爽又舒服的三级视频| xxx亚洲午夜天堂| 人妻熟女一区二区| 欧美性第一页| 另类图片欧美激情综合| 日日碰狠狠添天天爽超| 九一亚洲国产免费| 亚洲不卡一| 看免费一级在线播放毛片| 午夜黄色免费在线观看| 97天天综合网| 丁香7月婷婷| 欧洲性爱无码区| 在线99热| 加勒比五月天| 97在线视频免费| 婷婷中文网| 性色av一区二区| 久久六六| 99久久久久| 五十路人妻在线| 高清在线不卡一区二区 视频| 中文字幕一区二区三区视频播放| 欧洲亚洲人妻无码中字久久三区四区| 一本久道久久综合狠狠爱一密臀精| 亚洲精品一二区| 97国产超湿| 欧美激情亚洲情色| 午夜乱轮操逼视频免费看| 久久本道| 亚洲五月丁香花狠狠干一区二区三区| 欧美性爱一区二区三区四区| 欧美色图色综合| 一本道综合色图| 青草伊人网| 国产女人操逼视频| 97 九色| 男女啪啪网站免费视频| 久久久草成人网站久久久草成人久久久草久久久 | 日韩综合色图| 成人免费在线网站| 97色色,97综合| 嫩草美女久久| A啊啊在线观看| 欧亚无码视频| 人妻出轨一区二区三区| 97爱爱| 99热精品免费| 久久粉色| 高清无码网址| 东京男人天堂| 久草大| 夜夜夜爽www精品视频| 无套内射性感少妇视频| 爱丝福利| 色婷婷亚洲婷婷| 日本一卡二区在线| 99爱在线视频| 日韩有码专区| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 在线中文字幕极品av| 精品一区二区三区四区外站 | 国产欧美黑人丰满在线| 免费精品中文字幕| 97jingpin| 无码日韩网站| 欧美操逼录像国产黄色国产| 久操操| 中文字幕欧美丝袜07资源| 夜夜狼人妻| 欧美黄色大片在线观看 | 熟妇操花| 91美女精品| 69超碰综合| 久久久久亚洲熟妇熟女| 欧美成人精品一区二区三区| 熟妇精品juliaannAV| 国产美女销魂在线观看不卡| 肉丝网站91| 免费观看国产小粉嫩喷水精品午| 在线小视频| 国产吞精a级片激情电影| 久久久久久十| 大香蕉伊人久久| 成人羞羞视频国产| 久久久男人的天堂| 婷婷久草| 欧美大香蕉久| 色九九九综合| 加勒比在线视频一区二区三区 | 首页中文字幕中文字幕免费| 韩国嫰模上门援交视频| 天天爽天天操| 黄片qw| 青青草好吊| 国产高潮AA片免费看| 午夜精品久久一区二区| 色综合99999| 五月天精品| 中文字幕日韩专区精品系列| 金典av| www.狠狠干.coom| 亚洲第一免费视频| 久久精品无码专区| 日影院久久婷婷夜夜网| 国产欧美亚洲精品a第2页| a片久久久久久久久久久久 | 国产熟女高潮一区二区三区| 一色网男人的天堂| 日本性爱少妇| 欧美性爱日韩高清| 久久久噜噜噜久久人妻| 澳门成人网站久国产日韩| 丰满高潮18xxxx| 1769成人国产精品视频| 亚洲在线观看| 亚洲欧美setu| 99热亚洲天堂| 亚洲天堂热| 免费成人自拍视频在线| 另类图片五月天| 日本蜜桃| 精品国产网站| 91九色精品熟女内射| 一本色道无码DVD中文字幕| 清纯唯美综合亚洲| 国产精品丝袜久久亚洲不卡| 午夜精品99久久久久传媒| 国产区性爱在线视频秋霞豆| 中国农村熟妇毛片视频| 97爱综合| 国产熟女一区二区| 国产精品乱码久久久、久久| 欧美熟妇乱码在线一区| 男人的天堂亚洲| 成年人一级黄色毛片大全在线观看| 久草尤物| 精品78| 91老司机视频| 床戏久久久av一区二区麻豆| av线电影| A啊啊在线观看| 亚洲日韩av一区二区三区百合| 91色色色| 日本午夜精品理论片A级APP发布| 99国产精品视频尤物| 国产精品美女久久久久久网站| 91综合网站| 少妇无码999| 亚洲久久东京热一二三四五区视频| 欧美精品双插| 色九月综合| 天天干天天日天天射黄色大片| 91在线欧色| 殴美牲| 麻豆天美国美国产| 久都青青视频| 中文字幕国产精品1区| 91狠婷| 天美av在线观看| 天天看天天综合成人网| 亚洲日韩精品在线播放| 亚欧高清在线| 乱欲一区二区| 图片区小说区| 熟女人妇一区二区三区| 亚洲成人福利电影免费 | 女生自91网站| 大香蕉欧美日韩| 国产熟女精品区| 久草婷婷| 蜜臀无码一区二区| 91黑丝美女| 麻豆人妻偷人精品无码视频| 午夜毛片高清免费不卡| 亚洲的天堂网| 久久熟女久| 亚洲做性| 超碰免费人妻在线| 国产日韩欧美操逼视频| 日韩中文字幕在线视频观看| 青草视频在线看看看看看看看看看| 精品福利视频| 偷拍片久久| 狠狠91| 萌白酱自拍视频| 99色色| 天美传媒Av在线| 久久久啊啊啊| 欧美五十路熟| 九九碰九九爱97| 蜜桃成人1区2区3区| 色婷婷成人综合| 男人把坤坤插入女人的下体 | 诱惑人妻欧美一区在线播放| 色偷偷综合91久久噜噜| 欧州一区二区三区四区| 国产精品婬乱一级毛片彝族| 97久久资源| 精品无码一区二区人妻久久蜜桃| 日韩小电影| 黑丝自慰喷水网站| 肥臀熟女福利视频一区二区| 久湿久久| 韩国三级一线观看久| 十八禁啪啦拍视频无遮挡| 秋霞男人网| 97美日韩视频| 草草影院最新网址| 久久久九97| 激情小说亚洲视频| 国产无码成人无码| 激情综合五月丁香| 精品九九九九九九九九九| 国产深喉视频一区二区| 中文字幕狠狠玩| 美国久久一二三四| 99人妻| 99色在线观看| 91女优在线观看| 国产9 9在线 | 亚洲| 国产一区二区三区中文字幕| 青青草AV色| 岛国片国产成人亚洲播放| 夜夜狼人妻| 搡老女人老91二区| 日本午夜精品理论片A级APP发布| 国产精品suv一区| 中文乱码字字幕在线第5页| 日本三级大片| 好爽要喷了| 精品人妻一区| 亚洲情色在线| 在线亚洲 欧美 日本专区| 九九九九久久久| 麻豆色99999| 91在线精品| 亚洲综合大片| 九色在线熟女国产黑人| 麻豆一区在线| 亚瑟国产精品久久无码| 国产天天骚| 人妻精品视频一区二区三区| 久久精品国产精品亚洲艾通辽熟妇| 91色伦| 久久精品国产72国产精品福利 | 97亚洲在线| 婷婷久久久| 中文有码9| 超碰在线看| 99久久久| 天天日天天插| 青青草中文字幕| 激激五月| 啪啪视频免费在线观看| 蜜桃臀 后入 一区 二区 三区 在线| 亚洲熟女av中文字幕| 色蜜AV| 日韩欧美加勒比| 淫色网综合| 熟女这里只有精品6| 中文字幕人妻色偷偷久久皮| 欧美综合娱乐久久| 欧美午夜视频| 成人三级片无码| 精品成人久久久人人亚洲| 夜夜草网站| 九九九九AV| 日本免费不卡二区| 中文字幕日韩精品久久| 日本精品性生活久久久| 啪啪免费| 日韩BBN| 日韩人妻精品久久久久| 色吧 综合| 99色婷婷中文字幕乱色| HEYZO高无码国产精品227| 桑老女人九区| Julia在线播放亚洲久久| 国产精品爆乳懂色蜜乳| 九九九久久久久| 日韩欧美亚洲一区二区三区影院| 免费视频观看60秒| 久久久久久久 九九九九九九九| 欧美日韩*字幕一区| 香蕉色网| 精品国产乱码久久久久A| 成 人 A V免费视频在线观看| 久久久久大香青草精品综合| 91干熟女| 在线a亚洲视频播放在线| 97爱b| 91狠狠综合久久| 国产精品无码成人精品| 欧美日韩97在线| 欧美一级三级| 久久东京伊人一本到鬼色| 欲色综合| 青青草日本中文字幕| 婷婷91| 91视频伊人| 精品人妻一区二区免费看| 九九热五区| 五月天激情四射| 超碰国产精品无码| 欧美综合1性辶| 欧美夜夜骑视频| A V少妇特黄三级| 欧美日韩精品一区二区三区高清| 麻豆精品.欧美精品.日韩精品.| 天天天乱色综合全| 东京热亚洲一区二区| 欧美大香蕉同搞| 97欧美精品| 人妻人久久精品中文字幕| 欧美日韩人人精品| 国模精品一区二区三区苹果色戒| 日韩字幕一区| 91精品网站| 91熟女少妇| 婷婷情色五月天| 开心五月婷婷| 5278欧美一区二区三区| 日韩一区二区精彩视频| 国产视频第二页| 亚洲九九视频在线观看| 四虎视频在线观看| 黑操B| 国产日韩欧美三级片| 女人被男人桶爽视频网站| 日韩视频中文字幕| 97欧美综合网| 美女网站黄页| 美腿丝袜高跟网免费视频免费视频| 青青草中文-久久青草精品一区二区三 | 国产精品另类一区大香蕉| 欧亚日韩三区| 亚洲男人的天堂V| 天天综合网~69| 午夜婷婷| www久| 日韩免费性爱视频在线观看| 福利视频一区二区微拍| 成人自拍三级在线观看| 日韩亚洲欧美中文字幕| 另类欧美色| 怡红院久久老司机| 久久久免费视频18| 日韩中文9| 91N综合网在线| 无码久| 欧美亚洲厕所精品偷拍91| 极品少妇99| 综合久欧洲| 中文乱码99| 久久e6只有精品| 97爱欧美| 超碰97玖玖爱| 一区二区三区日韩欧美| 射丝袜高跟鞋99| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 在线午夜成人无码视频| 亚洲情色综合| 亚洲一区日韩精品中文字幕 | 欧色网址| 久久久日本电影| 啊啊啊久久| 97色碰| 韩国免费播放一级毛片| 色网站导航大全| 日韩人妻一区二区| 欧美精品二区视频在线| 无码精品久久| 北约熟女超碰| 激情综合二| 欧洲熟妇xxXx欧美老妇裸体| 色情综合网| 欧美第一页性| 青青草精品| 97超碰超欧美。| 国产树林里野战在线看| 色香蕉影院| 亚洲AV无码天美传媒一区| 78综合网| 美女毛片999| 欧美日韩精品青青| 极品人妻少妇综合| 97在线看| 岛国片在线播放| 天天视频综合在线观看视频| 秋霞视频一区二区 | av天堂5| 亚洲精品视频二区| 2025亚洲男人天堂| 人妻黑丝袜电影| 亚洲欧美综合图片| 人人操人人色网| 成人a级高清视频在线观看| 岛国艾薇凹凸视频天堂| 99热国产| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | AV99热18这里只有精品| 性色高清..……| 天久久久噜噜噜久久国产精品爽爽| 9色国产精品一区粉嫩| 干干干天天| 超碰碰碰碰| 久久久婷| 色原狠狠天天天| 2023天天操夜夜操| 国产剧情AV不卡在线观看| 女色视频社区| 好舒服视频| …亚洲黄色厕厕女女在线播…|