国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成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 分析、頻域濾波或者差異圖。精度這一欄要用像素當量倒推不能拍腦袋。視場 40mm、相機 2448×2048像素當量約 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)象是「偶爾檢測到上一件的缺陷」這種問題查起來極其折磨。拷貝一次的代價遠小于排查成本。隊列容量 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)致「算法失敗被當成 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ū)域生成形狀模板運行階段用模板在當前圖里找位姿。// 建模在一張合格品圖像上框出特征區(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; } // 運行在當前圖中查找返回行、列、角度、得分 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é)論有了位姿測量就好辦了。思路是把模板坐標系里定義好的測量位置通過剛性變換映射到當前圖像的實際位置再用測量工具在映射后的位置取邊緣。這樣來料有平移旋轉(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)造模板坐標 - 當前圖像坐標的剛性變換 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 是相鄰邊緣間距像素乘像素當量換成毫米 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 是邊緣幅度閾值它決定什么算作邊緣——太低會把噪點當邊緣太高會漏掉對比度弱的真實邊緣。穩(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 標定與像素當量換算翻車現(xiàn)象測量值整體偏大或偏小百分之幾重復(fù)性很好但準確度不對。原因多半在像素當量上。像素當量不是拿標稱視場除分辨率算出來的那個值忽略了鏡頭畸變和實際放大倍率偏差。正確做法是拿一塊標準量塊或者標定板在同一工作距離下拍圖量出已知長度對應(yīng)的像素數(shù)兩者相除。更嚴謹?shù)淖龇ㄊ亲龆帱c標定把鏡頭畸變一起擬合掉視場邊緣的測量值才不會系統(tǒng)性偏大。還有個容易忽略的點更換鏡頭、調(diào)整工作距離、甚至相機被撞了一下像素當量都要重新標。我見過一個項目調(diào)試時標定過后來調(diào)焦換了鏡頭沒重標整批產(chǎn)品尺寸超差卻判 OK流到客戶那邊才發(fā)現(xiàn)?,F(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
返回資訊列表
日韩精品在线视频在线观看| 伊人久操| 天天看综合网| 999狠狠综合| 美女黄网| 日韩精品电影| 可以免费观看的av| 变态乱伦伪娘灌肠一区二区| 亚洲欧美色图片| 很黄很污的免费网站| 福利视频一区二区微拍| 99999亚洲| 久久天天躁日日躁狠狠躁| 欧美国产欧美在线观看| 人妻献身系列第54部| 久久精品一区一起草| 久久久久久久久久久久黄色| 色五月综合| 手机午夜电影神马久久| 婷婷人妻激情| 欧美性综合| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 爱射综合| 日本日逼视频网| 放黄片放3级黄片没穿衣服| 日韩无码服务区| 欧美999999| 五月婷婷无码| 一级性爱视频免费观看 | 日本不卡高清视频| 人妻9117c| 日韩欧美加勒比| 亚洲熟女偷拍在线观看| 日韩AV色图| 偷窥自拍A片| 国产精品亚洲无码| 69av一区二区三区| 日本精品网站在线中文| 中文字幕日韩专区精品系列| 亚洲欧洲中文日韩女优乱码| 久久久久久久久久久免费精品| 日韩欧美三级| 日韩精品午夜操呦呦不卡影院| 内射中出日韩在线观看视频| 99九九久久| 婷婷五月天激情网| 九九天堂| 久久曰曰| 91美女国产在线| 亚洲精品国产av天美传媒| 九九热免费国产视频婷婷伊人| 一级免费啪啪片| 国产一级操B视频| 思思热一热婷婷热一热| 狠狠亚洲| 男人的天堂2019AV| 亚洲色人阁| 天天爱天天韩国日本牛牛牛牛 | 新婚人妻扶着粗大强行坐下| 日本三级一区二区 在线| 国产偷拍网站| 特级毛片特黄久久免费看| 大JI巴好深好爽又大又粗视频| 综合97亚洲| 无码人妻精品一区二区三区九九| 97视频新免费| 91综合天天看| 日本高清视频xxxx| 国产亚洲精品农村妇女| 五月综合色| 欧美成人性爱视频免费观看 | 少妇毛片久久| 色拍偷亚洲| 久操免费视频| 国产资源中文字幕在线 | 高跟伊人julia ann| 春色综合免费| 91色图| 欧洲在线性爱视频| 夜夜影视四色| 热久久无毒不卡| 亚洲综合色图欧美| 成人小说另类在线| 最近2019中文字幕国语免费版| 免費黃色視頻觀看一| 人妻久久久| 欧美日韩色| 亚洲色图欧美一区二区不卡| 日日噜噜夜夜狠狠视频无| www.人人cao| 欧洲综合视频| 欧洲亚洲人妻无码高清久久三区四区| 国产精品久久久久无码Av网曝门| 综合欧美激情网| 中文字幕一区av| 久久发布国产伦子伦精品| 欧美一级专区免费大片| 神马午夜久久| 欧美精品999| 啊啊啊在线观看免费视频| 亚洲素人综合| 色综合V| 麻豆60秒| 久久精品无码不卡| 欧美91视频| 丁香色五月 97干| 婷婷色香| 啊啊啊好想要| 国产精品一区二区三区,亚洲综合| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 操香逼| 极品出轨视频网站| 欧美日韩国产色图在线| 亚洲精品一卡二卡三卡福利视频网站| 91日韩国产欧美亚洲另类精盘州至城都| av天堂精品久久| 91夜色| 婷婷亚洲综合| 9久9久9久9久视频网站| 亚洲高清国产理伦片| 日本一片一区| 亚洲欧美高清| 嗯嗯嗯不要不要免费视频| 美女十八禁| 成人七区| 青青草字幕AV| 密乳无码| 久久人爽| 91操人| 国产精品老熟女一区二区| 亚洲怡春院| 色操逼网| 目产99999久久999| 久久久成人国产精品无码| 色婷婷淫色网| 国产精品无码论坛| 日韩精品资源| 婷婷五月丁香五月| 久久9999 | 日本操逼视频不卡直接放| 欧美亚洲激情小说| 三级日韩一区二区三区| 天天综和| 精品午夜福利国产一区二区在线观看| 歐美性天天| 国产精品久久久无码AV网站| 久久偷偷色综合蜜桃| 亚洲精品影视老司机| 激情视频一二三| 精品国产人成在线| 久久久无码精品人妻二区| 国产精品久久久久久 百度| 天天日美女的B| 亚洲欧美日韩精品久久久一区二区| 亚洲91网站| 日本不卡高清视频| 欧美黄片欧美黄片xxx| 欧美超碰人妻97| 亚洲啪啪视频一区二区| 亚洲黄色电影| 欧美三级免费伊人| 啪啪啪精品视频| 99久在线精品99re8| www久久99| 色九久| 蜜桃视频精品一区二区| 一本精品日本在线视频精品| 久久影视二区三区行押| 99久在线精品99re8| 久久精品一区一起草| 丝袜 亚洲 偷拍| 国产亚洲精品久久久久小| 国产第二页| 欧美日韩国内不卡| 欧美懂色综合网| 日韩欧亚太美不卡| 成人短视频在线观看| 啊啊啊好多水| 熟妇高潮二区三区| 欧美传媒一区| 综合色99| 色婷婷综合视频| 激情小说图片亚洲首页| 日本五区不卡| 91高跟美女在线播放| 欧美性爱精品一区二区| 一二三区操逼国产91| 美女骚尻视频| 伊人操操| 四虎影视在线| 综合色久| 天天干人妇| 国产成年女黄特黄| 黄色工厂这里只有精品| 欧美精品偷拍| 天天操天天射青青草| 簧片免费看视频| 国产辣妈在线视频福利| 天堂性色| 久超碰这里只有精品| 91久久午夜无码鲁丝片久久人妻| 天天日夜夜| 黄片视频观看| 97干在线| 久久一级无码精品毛片6| 超碰吊日色| 91精品久久久久久久久久| 99999久久精| 伊人五月天青青草婷婷| 国产夜夜操| 六九九九| 精品国产乱码久久久久A| www.久久制服糖| 欧美性暴力猛交| 大白逼三四级| 欧美激情亚洲情色| 加勒比色综合| 91超级碰碰| 日韩成人精品视频自拍| 亚洲精品国产无码高清| 成人AV超碰免费在线| 亚洲色91| 精品九九九九| 永久电影三级在线观看| 久久只有精品| 天天看天天日| 天天干天天燥| 久久综合中文国产| 大香蕉宅男伊人| 国产精品网站www| 欧美熟女妇同| 俺也射| 蜜臀无码一区二区| av影院十区| 中国的操老妇女| 肉丝中文无码高清| 久热这里只有精品9| 9丨久久九九九| 亚洲欧美日韩激情不卡| 高清有码一区二区| 久久精品国产亚洲AV无码电影| av无线看| 乱精品一区字幕二区| 97亚洲国产影视| 亚洲色欲一区二区三区| 亚洲在线观看| 天天日天天爽| 91国产丝袜足交精品视频| 中文字幕一二三区| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 婷婷97| 色蜜AV| 99这里只有精品| 一区二区三区 丝袜 高跟 美腿| 男人的天堂2018东京热啪啪啪| 久久欧美1卡2卡3| 西西美女视频网| 国产AV天美传媒一区二区三区| 欧美日韩亚洲少妇寂寞影院正在播放| 综合久久2017| 亚洲国产奇米影视久久| 婷婷激情啪啪| 日日爽熟女| 蜜乳AV.COM| 精品亚洲国产成人AV制服丝袜 | 色婷婷一区二区三区久久| JIZZJIZZ亚洲女人被躁| 亚洲熟女中文字幕在线| 四虎 精品 WWW| 嗯嗯啊啊好疼| 热思思免费视频| 色一色综合网| 污污污8888| 欧美天天干| 亚洲 日本 国产 综合| 激情小说五月天| 久久偷拍人| 97这里有精品| 亚洲无码成人精品| 天天摸,夜夜摸| 1024手机看片欧美日韩| 东北少妇高潮zzzz| 久久人妻视频| 国产成人啪一区二区| 97无码视频在线播放| 中文字幕 国产 精品| 诱惑人妻欧美一区在线播放| 欧美性爱第1 页| 在线性黄高清免费视频| 9久精品视频在线观看| 大香蕉中文在线| 99综合视频| 色妇91| 91免费看一区二区三区| 95人妻爽爽人人做人人澡| 人妻天天爽| 亚洲无码偷拍| 国色天香av| 久久精品无码专区| 国产精品交换一区二区| 天天干人人看综合| 日韩有码回春沙龙第一页| 国产91丝袜 在线播放| 精品性爱一二三区| 精品视频一区二区| 久9视频| 久九九九九九九九热| 欧美做爰无码A片视频| 乱色老一区二区三区的观看方式| 99综合| 91亚洲网| 色偷综合| 综合色99| 偷拍偷窥与盗摄视频专区| 手机不卡视频不卡在线一二三区| 日本爽爽爽爽爽爽免费视频| 久久999久| 99国产精品视频尤物| 亚洲性少妇| 欧美精品自慰系列寂寞少妇| 色噜噜国产精品视频一区二区| 视频在线观看一二三区| 国产99精品一区二区三区免费| 精品v1区| 亚洲AV无码久久久国产精品| 人妻熟女一区二区三区视频| 麻豆60秒| 亚洲阿v天堂无码z2018| 久久久久久九九九九九| 天天欧美色| 精品无码一区二区三区色欲| 97超碰超欧美。| 东京热亚洲一区二区| 麻豆成人影音在线| 熟女网站最新| 五月丁香色婷婷| 亚洲AV秘无码一区..| 伊人操| 人人妻人射| 日韩国产十八禁| 国产剧情AV不卡在线观看| 国产AV线| 好淫网一二三视区| 中文字幕国产| 国产91 丝袜在线播放00-百度| 欧州色图区| 欧美性爱免费短视频| 中日韩久久久免费看| 人妻天天爽夜夜爽精品2| 精品毛片av一区二区| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 精久久久| 嗯嗯嗯不要不要免费视频| 另类 日韩 熟女| 国产综合久久久麻桃个| 亚州色站 日韩电影| 高潮毛片无遮挡高清免费| 国产麻豆91欧美一区二区久久婷婷国产精品 | 三级激情网站| 蜜臀久久99精品久久久久久婷婷| 偷拍综合亚洲| 丝袜内射| 婷婷综合久久| 最好看的中文字幕在线2018| 中国一级操逼视频| 97超碰久久| 婷婷探花久久精品一区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 午夜福利精品| 中文字幕高清精品一区| 强奸少妇AV导航网| 亚洲天堂少妇| 亚洲 欧美都市激情| 亚洲国产奇米影视久久| 久久六六| 久草午夜| 无马一区二区| 久久久三区二区一区| 禁十八久久| 欧美第一页性| 91老司机在线视频免费观看| 99热这里只有精品99| 亚欧成人中文字幕一区| 亚洲精品白浆高清久久久久久| 激情情色五月天| 中文字幕AV片| 亚洲精品819| 丁香六月婷婷综合| 色婷婷av在线观看| 理论久久婷婷网8| 色91综合网| 欧洲中文字幕| 亚洲精品一二三四区| 久九干| 午夜高清成人在线视频| 日日碰狠狠添天天爽超| 国产热RE99久久6国产精品首| 殴美在线AⅤ| 99精品欧美一区二区三区桃色| 欧洲性爱无码区| 人妻天天爽天天爽三区| 国产日韩区| 国产传媒午夜理伦精品| 免费1级a做爰片观看| 偷拍亚洲熟女视频播放| 五月婷婷爱六月丁香色| 九久9精品| 人妻加勒比东京热| 美国久久一二三四| 黄色成年| 男人的天堂2018| 天堂v无码免费视频| 国产一级舔足在线观看| 精品v日韩欧美国产| 国产三级电影免费观看| 亚洲色色色| 亚洲毛片久久| jizz啪啪| 久久鲁干| 天天爽爽爽爽| 日韩另类色图| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 男人天堂电影院| 骚女高跟AV在线| 日本精品久久久久久久| 香港久久久| 校园春色 欧美| 亚洲精品影视老司机| 另类天堂| 丁香五月天久久精品视频一区二区三区| 国产白丝在线| 91香蕉国产尤物视频| 美国黄片aaa| 日韩精品视频在线观看一卡二卡| 久久五月份| 亚洲综合图片在线| 久久97精品久久久久久久不卡| 日本成熟少妇A∨网站| 午夜视频好爽啊| 久久婷婷国产一区二区色| 无码视频一区二区| 蜜臀99久| 国产精品久久久久久久黄无码 | 超碰97男女| 欧美老妇女内射网址| 欧美亚洲清纯| 天天看夜夜看日日干| 93人人操人人| 久久大香蕉手机高清| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 青娱乐蜜桃臀AV色婷| 性欧美91| 久久亚洲AV无码专区国产精品| 这里只有精品视频| 亚洲影视第一页| 亚洲国产精品有声| 高清不卡国产| 啊啊啊好舒服视频| 自拍偷拍 日韩欧美| 六月丁香婷| 免费97视频| 激情五月天插| 国产十八禁视频| 超碰在线一区| 色色色热| 成人精品无码| 91精品电影18| 日本506070| 日韩免费性爱视频在线观看| 超碰色美女| 国产剧情AV不卡在线观看| 久久一二三四不卡| 操操逼操操逼操操逼逼| a人欧美综合天堂麻豆| 亚洲天堂精品日韩电影| 中文字暮97| 中文字幕后石码四区五区| 91Chinese在线| 精品少妇人妻一区二区三区| 99在线无码精品秘 入口黑人| 一区二区视频你懂的| 国产在线激情视频| 天堂在线一区二区| 国产精品嫩草久久久久| 一区二区亚州激情久婷婷欧美| 日韩在线一区高清在线| 60秒免费小视频| 亚洲 欧美 手机在线观看| 老司机午夜精品福利视频一区二区| AA级电影三区| 久久久久国产精品久久久| 高清不卡国产| 蜜乳AV.COM| 天天操天天日天天干| 操逼啊啊啊91| 欧美丝袜亚洲| 黄污污污污| 99re在线| 日本一天色道久久久精品视频| 人妻无一区二区三区| 伊人久久大香线综合无码| 老司机深夜影院18未满| 亚洲双插| 啊啊啊啊啊在线观看网址 | 久久久九九九| 亚洲综合99999| 欧美强奸一区二区诱惑| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 超碰免费欧美7| 国产免费永久精品无码| 探花精品 一区二区| 色婷婷婷五月天激情四射| 中文字幕在线观看永久| 夜夜欧美| 欧美国产有色电影| 亚洲AV无码国产成人| 日韩无码一级黄色av片| 欧美一品道| 久久婷婷五月天| A一区片| 久久精品国产97欧美精品亚洲 | 亚洲成人av电影在线| 97精品熟女少妇一区| 青青草玖玖爱| 成人免费看吃奶视频网站| 狠狠图片青青草| 亚洲精品亚洲人成人网| 亚洲AV秘无码一区..| 精品人妻伦一区二区三区久久| 在线播放成人网站| 亚洲欧洲精品视频发布| 久久啊啊| 91精品操美女| 亚洲熟女一区| 91在线视频免费中出| 精品性爱一区二区| 亚洲无码超碰免费| 欧美天天综合网| 亚洲国产亚洲天堂| 日韩人妻网站| 日韩精品三区四区| 亚洲天堂区| 国产无马视频| 久久精品国产AV一区二区三区| 国产精品一区二区三区免费视频| 操老熟女AV| 精品无人区麻豆乱码久久久| 国内精品不卡无毒99999| 性色av网站| 五月天婷婷在线看| 国产精品人妻免费精品| 老司机香蕉久久久久| #NAME?| 国产美脚女优尤物在线观看| 少妇国产不卡| 国产乱码久久| 中文字幕日韩综合| 超碰99在线观看| 国产欧美一区激情交| 99精品欧美一区二区三区桃色| 麻豆天美传媒毛片| 色综合一本| 亚洲国产另类在线中文| 啊啊啊啊啊在线| 午夜精品人妻二区三区| 亚洲无限观看| 亚洲欧洲无码一区夜| 欧美精品四区| 97操97色| 射欧美综合| 欧美色九九九| 夜夜操一区二区| 欧美人妻中出| 日韩精品大香蕉伊人在线| 中文字幕诱惑制服人妻丝袜美丝袜美| 蜜臀AV成人精品蜜臀| 91熟女综合| 91精品电影18| 亚洲国内精品成人不卡| 91亚洲丝袜| q2午夜理论片夜色av| 国产农村妇女毛片精品久久| 九九九九九九综合| 91A欧美电影网站| 国产综合色精品在线观看| 男人的天堂2018| 久久久性| 一本一道波多野毛片中文在线| 亚洲成人美女无吗| 婷婷久久综合久| 日韩亚洲美女一区久久| 精品国产国产AV| 风月影院男女十八禁| 亚洲欧美综合图片| 综合色91| 国产家庭乱伦性爱视频| 午夜福利视频在线一区| 婷婷精品视频| 日本一区二区三区免费观看| 中国少妇XXXX做受| 91精品久久久| 97自拍视频在线| 久久一二区四| 天天插天天操天天摸天天射天天看| 97国产中文| 欧美一级A一级a爱片久久| av强奸乱轮| 欧美亚洲日韩人妻在线观看| 久久久久久久久久久999| 亚州欧美综合| 91啦人妻| 竹菊影视国产一区二区| 成人三级片无码| 久久av网| 大香蕉手机在线| 大色综合| 久久精品店| 亚洲熟妇乱女区二区三区| 91老熟女老女人国产老太| 久九九九九九九九热| 色亚洲欧美| 人人操人人插人www| 色婷婷电影网| 亚洲宗合网| 操屄日韩| 99热伊人| 91欧美丝袜| 日韩熟女乱伦中出| 大稥蕉免费视频这里只有精品| 国产日韩欧美| 国产极品精品美女视频| 东京热激情视频一二三区| 久久久99999久网站| 日本人妻伦在线中文字幕| 99人人干| 四虎免费视频| 丰满人妻无码一区二区三区| 99re不伦| 精品国产乱码久久| 丰满人妻-区二区三区免费| daxiangjiao你懂的| 日本操逼无码| 人人喜人人妻| 不卡在线观看视频| 四虎影院成年人片| 4tube欧美女厕所| 国产日韩精品人妻久久久久色欲网站| 精品久久久久,69国产成人精| 变态综合色| 日亚韩精品视频二区三| 欧色性第一页| 日本高清_区二区三区| 欧亚久久偷拍视频| 免费中文综合精品| 青娱乐大香蕉| 国产亚洲日韩欧| 97中文字幕色| 亚洲欧洲精品视频发布| 91五月天| 中国AV美女| 日日干男人的天堂| 岛国视频一二三区| 精品久久99| 人妻一区二区三区视频 | 久久99午夜精品一区人妻| 欧亚成人在线视频| 日韩久久.一级黄色片| 操死我了嗯嗯嗯| 少妇干B| 久久97超碰香蕉| 唐山老熟妇露脸啪啪叫| 亚欧洲日韩国产精品| 久久综合99| 久久偷偷色综合蜜桃| 精品一区二区成人动漫| 亚洲高清欧美总合| 国模无码一区二区三区在线| 欧美色综合网| 91 手机在线播放 绯色| 激情视频一二三| 超碰人妻久久| 大香网伊人久久综合网eew| 欧美专区第一页| 四虎精品永久在线播放| 国产视频一区二区三区久久亚洲天堂| 日本人妻伦在线中文字幕| 亚洲欧美日韩电影网站一区 | 91热色| 色色五月婷婷| 99久久精品国产系列| 97超碰这里只有精品| 日本中文字幕在线电影| 国产91美女视频| 2019天天操天天爽天天拍| 岛国片国产成人亚洲播放| 夜夜 中文视频rt| 亚洲色鬼| 亚洲αv一区二区三区| 91综合网| 天天操天天看| 这里只有精品97| 高树玛利亚无码流出| 国产不卡免费在线视频| 色97干| 精品少妇人妻| 91老熟女逼| 欧美日韩国内不卡| 国内毛片无遮挡国产| 久久风骚城市人| 青青操青娱乐| 自拍偷拍2025在线观看| 欧美人与动性人交a| 天天影视综合色| 欧美曰韩国产精品| 黑丝内射一区二区三区| 国内精品伊人久久久久影院会| 密乳视频在线| 九九九999久久久网站| 亚州九九九精品视频| 中文字暮97| 欧美啪啪女女| 日韩AV一起草| 激情无码日韩| 免费国产电影一区二区| 国产激情视频一区区三区| 日韩精品一区,二区 九九...老司机| 97色冈| 亚洲AV成人在线| 天天做日日爱夜夜爽| 日韩无码精品综合久久| 中文字幕精品免费一区二区| 亚欧成人一级片在线播放| 伊人午夜福利视频| 九九av| 成人久久精品| 91色图片| 久久鲁夜| 天天弄欧美| 亚洲网自拍| 精品视频123区小说区| 色综合久久888| 99久久九九| 人、人、摸,人、人、草| 永久免费观看的毛片的网站| 蜜臀久久99精品久久久| 美女黄页网站| 香蕉99秘 一区精品蜜桃臀| 亚洲做性| 欧美在线大香999| 亚洲精品黄码久久久久| 中日韩久久久免费看| 亚洲激情色片| 韩国午夜理伦三级好看| 欧美一区二区三区四区综合| 免费无码国产精品v片在线观看| 国产综合日韩伦理| 91AV入口| 成人激情无码在线视频| 乱伦av麻豆| 370p日韩欧美亚洲精品| 色y情视频免费看| 亚洲 自拍偷拍 欧美| 永久免费发布性爱网| 免费看A片毛毛片在线播| 八人操人人摸人人看| 亚洲日本韩国在线| 色99在线| 亚州色图狠狠干| 欧美97视频| 欧洲一区二区三区四区在线观看| 精品人妻少妇| 97香蕉网| 大香蕉专区| 精品人人插人人操| 亚州精人品大香蕉| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美老熟另类| 日韩美女高潮喷水视频| 伊人视频| 啊啊啊好想要| 精品国产一区二区三区在线播出| 国产女人和拘做爰视频| 五月婷婷大香蕉| 强奸少妇AV导航网| 色97国产69香蕉| 久久色AV线| 麻豆精品.欧美精品.日韩精品.| 9 1果冻精品视频| 国产精品久久久久久久电影渣男| 91搞逼视频| 久久久免费一级黄片| 五月天色综合| 热久久国产精品视频大陆精品| 亚州高清AV| 激情小说在线视频| 偷看洗澡一二三区美女| 亚洲欧洲视频小说在线观看| 九九九九免费高| 国产精品久久泡妞网站| 伊人专区一区二区三区| 女人高潮大叫一级毛片| 91n美女视频| 暴力av在线| 日本不卡码黄色| 欧美96交| 丰满美女一级毛片在线播放| 丰满的三级少妇欧美久久久| 久久有碼| 欧美啪啪色吧在线| 免费A V在线| 欧美日韩少妇色情| 新91视频.cmp| 中国一级操逼视频| 艳美熟妇先锋一二三区| 精品人妻一区二区蜜桃视频 | 九九久久久| 天天躁日日躁xxxxx| 伊人大香蕉在线| 欧美在线色图| 麻豆久久一区二区三区| 青青草公开在线免费不卡视频| 国产品精品自在在线午夜免费| 久久精品店| 亚洲一区二区 麻豆传媒| 中文字幕乱亚洲美女精品一区| 亚洲精品日韩国产欧美| 夜夜福利| 亚洲成人帖图| 97国产成人精品免费视频| 精品人妻视频一区二区三区蜜桃视频| 日韩性爱长视频免费| 久热9| 国产精品禁久久久精品| xxx0国产在线播放| 中文字幕-区二区三区四区视频中国 | 成人情色综合网| 92人人操人人| 97jingpin| 手机在线A片| 天综合网欧美| ..日韩av毛片精品久久久| 天天看片麻豆| 国产精品视频自拍在线| 日本99一区二区| 青青青国产手线观看视频2| 日韩另类色图| 肉动漫无遮挡h在线观看| 亚洲中文字幕噜噜噜久久久| 中文字幕视频二区| www.久久| 日韩啊V| 日韩人妻网站| 中文字幕日韩专区精品系列| 97视频7| 国产一区二区三区免费视频在性观看 | 日韩9999| 亚洲乱色熟女一区| 亚洲精品一区二区免费在线观看| 激情黄色片在线观看| 欧美天天综| 成人一道本免费视频| 国产农村妇女精品一| 色在线视频导航| 亚洲精品天天影视综合网 | 欧美亚洲国产91在线| 天天碰操中国年青熟妇| 欧美精品23| 啊啊啊要高潮了| 91精品伊人久久久大香线蕉91| 欧美亚洲色的图| 亚洲日韩AV视色| 日韩成人性日韩成人性爱视频在线免费观看 | 日本999精品视频| 乱伦图av| 久久久一区二区三区麻豆| 熟妇高潮一区二区免费视频| 欧美大波激情xxxx| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 日韩激情中文字幕有码| 制服丝袜第二页| 天天影视色香色欲| se吧提供国产乱老熟视频胖女人| 国产精品电| 五月婷婷大香蕉| 一区二区三区高清天码| 亚州精品人妻一二三区| 欧美成人精品一区二区三区| 天天色,天天干,天天干| 天天综合网AV91| 人妻天堂综合网| 免费福利视频中文字幕| 清纯唯美综合| 91欧美成人色站| 午夜丁香婷婷| 亚洲一区操| 亚洲图片91| 试看福利| 99r九九| 国产亚洲禁久一区二区| 搡老熟女免费视频| 一卡二卡在线播放| 成人熟女视频一区二区三区| 天堂种子在线www网资源| 97亚洲综合| 东北老熟女| 97久久精品国产| 天综合网| 亚洲中文字母在线播放| 亚洲国产一区二区日韩专区| 伦理第一页| 免费男人的天堂| 5252色欧美在线| 少妇啪啪自拍| 亚洲 欧美 日韩 国产一区二区| 黄片免费看黄片免费看| 免费a v| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美另类自拍| 91爽啪| 丁香婷婷久久 | 欧美大码在线视频| 亚洲图片欧洲图片aⅴ| 三级日本一区二区三区| 99少妇| 女生看匆91网站| 在线五区| 精久久久| 91欧美性| 中文久久96| 18岁禁 茉莉成人久久| 国产夫妻一区二区| 夜夜嗨一区二区| 日本超碰在线国产一区| 亚洲精品成人动漫在线| 91精品网站| 岛国天天午夜影院传媒网| 成人天天爽| 加勒比AV天堂| 囯产精品强| 久草在| 97在线资源| 婷婷五月天无码| 91久久国外网| 亚洲网污污污污| 男人的天堂日韩| 性交一区二区在线播放| 欧美第一页| 国产AV人人夜夜澡人人爽麻豆| 风骚少妇视频中文字幕| 97超碰人操| 2020天天色综合| 亚洲第一男人天堂| 97资源亚洲| 日韩情色一区二区| 国产粉嫩蜜臀av一区二区三区| 操东北女人| 操操逼视频| 亚洲成人性爱网站在线播放| 黄片免费久久久久久久| 国产成人免费观看在线视频| 欧美日韩99| 日韩一区二区精品视频| 九九热精品| 97超碰国产精品| 91久久久久久久久久久| 91色图片| 色69大色97香蕉| 亚州黄站| 久久av无码| 欧美性爱1080p| 国产精品色| 伊人大香蕉在线| 亚洲欧美日韩电影网站一区| 蜜臀在线看片| 天天看天天日| 国产乱伦亚洲| 99热在线播放| 男人的天堂在线2| 天欧美在线| 好吊色青靑草| 熟女精品一区二区在线观看| 日本免费一区二区不卡| 99re9| 99久久久无码精品国产人| 丁香五月性| 亚洲日韩av一区二区三区百合| 试看福利| 97视频在线视频| 91精品导航| 两女互慰AV高潮喷水在线观看| 国产精选三级在线观看| 亚洲图片 91| 少妇高潮喷水无套久久久久久| 亚洲成成熟女人综合一区二区| 免费1级a做爰片观看| 国产成人无码久久精品| 91爰爱欧美| 一区二区三区麻豆| 操逼操逼逼操操逼91 | 九月丁香婷婷| 看黑丝美女操逼青青网站| 另类图片五月天| 无遮挡男女激烈动态图| 97在线精品| 久久伊人青青草| 精品国产Av无码久久久伦古装| 国产精品久久久久中文字幕| 97色插| 超碰97综合网| 永久免费发布性爱网| AV电影在线播放| 97国产精品久久久久 | 五月丁香影视| 久久精品99| 国产成人亚洲精品无码最新在线| 在线观看十八禁| 啪啪啪亚欧美视频| 日韩视频啪啪| 情色av电影| 欧美999| 性爱乱伦一区| 色臀aV| 亚洲国产一级黄色视频| 婷婷丁香六月| 99re视频在线播放青草| 国产探花精品在线| 九九拍拍精品视频在线播放 | 999久久久免费精品国产牛牛| 99色婷婷| 亚洲情色综合网| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 免费综合亚洲中文| 东北女人操比视频| 久久亚洲AV无码专区首页| 综合网久久| 少妇熟女1区2区3区| 91大神电影天堂| 偷拍视频青青草在线视频| 五月丁香激情综合网| 亚洲情色 无码专区| 中文字幕国产| 中美日韩毛片| 97超碰欧美中文字幕| 激情99| 亚洲五区熟女| 欧美 亚洲 大香| 日本αv| 嗯嗯啊啊操死我| 日韩成人无码| xxx亚洲午夜天堂| 欧美高清无码免费视频高清版| 国产11页| 亚州男人天堂| 国产极品999| 蜜臀久久99精品久久久电影| 青青青操| 激情在线青青操| 青青草九九九九九| PMv在线观看| 精产国品一区二三产品| 97精品熟女少妇一区| 啊啊啊好舒服视频在线观看| 国产精品蜜乳AV| 久草线上视频免费看| 久久久中文| 九九九九九精品| 久偷拍| 91干熟女| 少妇精品| 国产SV一线| 欧美中文字幕日韩在线| 蜜臀AV成人精品蜜臀| 天天搞在线综合网| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲激情综合另类| 日本三级日本三级99| 又大又大又大又粗爽高潮观看| 丰满搜索结果 -第18页- 久久高清无码 | 亚洲天堂男人网| 久热久一区二区三区| 久久社区一区二区三区| #NAME?| 国产有码一区| 国产精品免费美女视频| 蜜臀99久久国产| 91熟女综合| 国产亚州高清国产拍精| 熟女人妻精品一区二区视频| 屌逼传媒| a v网站在线播放| 大象AV在线| 久久啊啊啊视频| 婷婷久草一区二区三区| 天天夜躁日日躁狠狠2002| 大干人妻| 99热网站| 久草国产在线视频| 99无码| 中文字幕伊人| 亚洲AO在线| 少妇高潮对白在线观看| 黑人操一区二区| 乱性AV| 天美av在线| 色综和网| 五月丁香色综合| 操逼逼福利视频| 色激情综合网站| 深爱伊人影院| 91 国产丝袜在线放观看| 久操网址| 超碰精品日韩欧美国产| 亚洲se电影| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 日韩综合无码一区久久92| 欧美,亚洲,日韩,v,天堂,手机在线观看| 天天干天天日天天射黄色| 日本视频一区二区三区| 少妇熟女1区2区3区| 91大香蕉伊人| www.av不卡中文字幕| 午夜呻吟欧美| 欧美一区91大爱| 婷婷综合在线| 国产理论视频在线播放| 99视频这有这里有精品| 九九九九九精品视频| 骚鸭AV| 国产丝袜高跟美女av免费观看| 久久久久久久久久久久久久9999| 99热精品在线| www国产天美久久久| 日韩国产不卡在线视频| 亚洲国产精品99久久久| 美女诱惑一区| 97 色综合| 五月天精品| 欧美日综合| 欧美热图99| 少好三P| 久久久草草精品| 91国产美女丝袜足交精品视频 | 东北女人av| 天天干天天拍| 色综合九九| 中文字幕 码精品视频网站| 国产动漫操逼视频| HEYZO高无码国产精品227| a级成人毛片免费视频高清| 最新亚洲人成网站在线影院| 国产强奸乱伦xd| 亚洲一级特黄大片在线播放91| 久久黄片国产一区二区| 国产成年精品高清在线观看91| 9色国产精品一区粉嫩| 男人女人18禁片免费看网站| PMv在线观看| 国产精品久久久久无码Av网曝门| 天堂性色| 久久精品操|