瀏覽代碼

V1.02 ik优化

master
CPL 10 月之前
父節點
當前提交
17b3fa9948
共有 13 個文件被更改,包括 127 次插入9 次删除
  1. 二進制
     
  2. 二進制
     
  3. 二進制
     
  4. 二進制
     
  5. 二進制
     
  6. 二進制
     
  7. +1
    -1
      MaiMuControl/MaiMuControl/.vs/MaiMuControl.csproj.dtbcache.json
  8. +36
    -4
      MaiMuControl/MaiMuControl/Device/CamDev/IKapCamera/IKapCamDev.cs
  9. +28
    -0
      MaiMuControl/MaiMuControl/Form1.Designer.cs
  10. +17
    -1
      MaiMuControl/MaiMuControl/Form1.cs
  11. +41
    -0
      MaiMuControl/MaiMuControl/ImageKits/HImageToolKits.cs
  12. +1
    -0
      MaiMuControl/MaiMuControl/MaiMuControl.csproj
  13. +3
    -3
      MaiMuControl/MaiMuControl/obj/x64/Debug/MaiMuControl.csproj.FileListAbsolute.txt

二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


二進制
查看文件


+ 1
- 1
MaiMuControl/MaiMuControl/.vs/MaiMuControl.csproj.dtbcache.json
文件差異過大導致無法顯示
查看文件


+ 36
- 4
MaiMuControl/MaiMuControl/Device/CamDev/IKapCamera/IKapCamDev.cs 查看文件

@@ -15,6 +15,7 @@ using System.Security.Cryptography.Xml;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using static Org.BouncyCastle.Math.EC.ECCurve;
namespace MaiMuControl.Device.CamDev.IKapCamera
@@ -908,6 +909,7 @@ namespace MaiMuControl.Device.CamDev.IKapCamera
{
try
{
WriteSysEditLog("采集", "FrameReady");
Stopwatch stopwatch = Stopwatch.StartNew();
stopwatch.Start();
int nCurFrameIndex = 0;
@@ -927,10 +929,12 @@ namespace MaiMuControl.Device.CamDev.IKapCamera
{
CopyMemory(m_pUserBuffer, hPtr, _nBufferSize);
Mat mat = new Mat(imgHeight, imgWidth, MatType.CV_8UC3, m_pUserBuffer);
lock (frameQueue)
frameQueue.Enqueue( mat.Clone());
frameQueue.Enqueue(new Mat(imgHeight, imgWidth, MatType.CV_8UC3, m_pUserBuffer));
//Mat mat = new Mat(imgHeight, imgWidth, MatType.CV_8UC3, m_pUserBuffer);
//lock (frameQueue)
// frameQueue.Enqueue( mat.Clone());
//PhotoNumCacheEvent?.BeginInvoke(frameQueue.Count, null, null);
}
//lock (m_mutexImage)
@@ -954,7 +958,8 @@ namespace MaiMuControl.Device.CamDev.IKapCamera
}
//m_nCurFrameIndex++;
//m_nCurFrameIndex = m_nCurFrameIndex % m_nFrameCount;
stopwatch.Stop();
stopwatch.Stop();
WriteSysEditLog("采集", $"FrameGet({frameQueue.Count})-time:{stopwatch.ElapsedMilliseconds}");
}
catch (Exception ex)
{
@@ -973,6 +978,33 @@ namespace MaiMuControl.Device.CamDev.IKapCamera
}
#endregion
#region 操作日志
public void WriteSysEditLog(string tag, string info)
{
try
{
string Path = Application.StartupPath + "\\CamLogFiles";
if (!File.Exists(Path))
{
DirectoryInfo directoryInfo = new DirectoryInfo(Path);
directoryInfo.Create();
}
string directory = Path + "\\" + DateTime.Now.ToString("yyyyMM") + "\\";
if (!System.IO.Directory.Exists(directory))
System.IO.Directory.CreateDirectory(directory);
string writelog = "[操作] " + DateTime.Now.ToString("HH:mm:ss.fff") + ": " + $"{tag}-{info}";
File.AppendAllText(directory + $"Cam{_DevNo}_{_SerialNumber}-" + DateTime.Now.ToString("yyyyMMdd") + ".log", writelog + "\r\n\r\n");
}
catch
{
}
}
#endregion
/*
* @brief:设置相机特征值
* @param [in] featureName:特征名[ExposureTime,Gain]


+ 28
- 0
MaiMuControl/MaiMuControl/Form1.Designer.cs 查看文件

@@ -132,6 +132,8 @@
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.tabPage12 = new System.Windows.Forms.TabPage();
this.button21 = new System.Windows.Forms.Button();
this.menuStrip1.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
@@ -150,6 +152,7 @@
this.tabPage9.SuspendLayout();
this.tabPage10.SuspendLayout();
this.tabPage11.SuspendLayout();
this.tabPage12.SuspendLayout();
this.SuspendLayout();
//
// button1
@@ -283,6 +286,7 @@
this.tabControl1.Controls.Add(this.tabPage9);
this.tabControl1.Controls.Add(this.tabPage10);
this.tabControl1.Controls.Add(this.tabPage11);
this.tabControl1.Controls.Add(this.tabPage12);
this.tabControl1.Location = new System.Drawing.Point(12, 132);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
@@ -1194,6 +1198,27 @@
this.timer1.Interval = 10;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// tabPage12
//
this.tabPage12.Controls.Add(this.button21);
this.tabPage12.Location = new System.Drawing.Point(4, 22);
this.tabPage12.Name = "tabPage12";
this.tabPage12.Padding = new System.Windows.Forms.Padding(3);
this.tabPage12.Size = new System.Drawing.Size(888, 530);
this.tabPage12.TabIndex = 11;
this.tabPage12.Text = "Himage";
this.tabPage12.UseVisualStyleBackColor = true;
//
// button21
//
this.button21.Location = new System.Drawing.Point(121, 87);
this.button21.Name = "button21";
this.button21.Size = new System.Drawing.Size(75, 23);
this.button21.TabIndex = 0;
this.button21.Text = "单次旋转";
this.button21.UseVisualStyleBackColor = true;
this.button21.Click += new System.EventHandler(this.button21_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -1238,6 +1263,7 @@
this.tabPage10.PerformLayout();
this.tabPage11.ResumeLayout(false);
this.tabPage11.PerformLayout();
this.tabPage12.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -1347,6 +1373,8 @@
private ImageToolKits.ImageBox imageBox4;
private ImageToolKits.ImageBox imageBox3;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.TabPage tabPage12;
private System.Windows.Forms.Button button21;
}
}

+ 17
- 1
MaiMuControl/MaiMuControl/Form1.cs 查看文件

@@ -38,6 +38,9 @@ using System.Collections;
using Google.Protobuf.Collections;
using ImageToolKits;
using static System.Net.Mime.MediaTypeNames;
using MaiMuControl.ImageKits;
using System.Diagnostics;
using System.Security.Cryptography;
namespace MaiMuControl
{
@@ -146,7 +149,7 @@ namespace MaiMuControl
private void button4_Click(object sender, EventArgs e)
{
HObject image = new HImage();
HTuple ImagePath = @"C:\Users\fang\Desktop\Size_SNLP20230915463_I111_X152.5008_Y-576.0998_PI_TW7.5 (良品) 10 Gerber\1.bmp";
HTuple ImagePath = @"E:\CPL\environment\test.bmp";
HOperatorSet.ReadImage(out image, ImagePath);
Mat img = CamDev.HImageToMat(image);
this.imageBox1.RefreshWindow(img);
@@ -1080,6 +1083,19 @@ namespace MaiMuControl
}
#endregion
private void button21_Click(object sender, EventArgs e)
{
Stopwatch stopWatch = new Stopwatch();
HObject image = new HImage();
HTuple ImagePath = @"E:\CPL\environment\test.bmp";
HOperatorSet.ReadImage(out image, ImagePath);
stopWatch.Restart();
HObject xyImg = HImageToolKits.HImageMirrorXY(image);
Console.WriteLine($"旋转时间-》{stopWatch.ElapsedMilliseconds}");
HOperatorSet.WriteImage(xyImg, "bmp", 0, "mirrir.bmp");
}
}


+ 41
- 0
MaiMuControl/MaiMuControl/ImageKits/HImageToolKits.cs 查看文件

@@ -0,0 +1,41 @@
using HalconDotNet;
using OpenCvSharp.Flann;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MaiMuControl.ImageKits
{
public class HImageToolKits
{
/// <summary>
/// 图片XY镜像
/// </summary>
/// <param name="image"></param>
/// <returns></returns>
public static HObject HImageMirrorXY(HObject image)
{
HObject MirrorImg = new HObject();
HOperatorSet.MirrorImage(image, out MirrorImg, "diagonal");
//image = MirrorImg.Clone();
return MirrorImg;
}
/// <summary>
/// 水平拼接
/// </summary>
/// <param name="image1"></param>
/// <param name="image2"></param>
/// <returns></returns>
public static HObject HImageHconcat(HObject image1, HObject image2)
{
HObject temp = image1.ConcatObj(image2);
HObject outImage = new HObject();
HOperatorSet.TileImages(temp, out outImage, 1, "horizontal");
return outImage;
}
}
}

+ 1
- 0
MaiMuControl/MaiMuControl/MaiMuControl.csproj 查看文件

@@ -236,6 +236,7 @@
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="ImageKits\HImageToolKits.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SysStatusMgr\CloudMgr\CloudMgr.cs" />


+ 3
- 3
MaiMuControl/MaiMuControl/obj/x64/Debug/MaiMuControl.csproj.FileListAbsolute.txt 查看文件

@@ -365,9 +365,6 @@ E:\MaiMuControl\MaiMuControl\obj\x64\Debug\MaiMuControl.pdb
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\Yolo5.dll
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\IKapBoardClassLibrary.dll
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\IKapC.NET.dll
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\MaiMuControl.dll.config
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\MaiMuControl.dll
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\obj\x64\Debug\MaiMuControl.dll
D:\CPL\MaiMuControl\MaiMuControl\bin\x64\Debug\MaiMuControl.pdb
D:\CPL\MaiMuControl\MaiMuControl\bin\x64\Debug\AdvMotAPI.dll
D:\CPL\MaiMuControl\MaiMuControl\bin\x64\Debug\Automation.BDaq4.dll
@@ -522,3 +519,6 @@ F:\CPL\MaiMuControl\MaiMuControl\obj\x64\Debug\MaiMuControl.csproj.CoreCompileIn
F:\CPL\MaiMuControl\MaiMuControl\obj\x64\Debug\MaiMuCon.DA45789F.Up2Date
F:\CPL\MaiMuControl\MaiMuControl\obj\x64\Debug\MaiMuControl.dll
F:\CPL\MaiMuControl\MaiMuControl\obj\x64\Debug\MaiMuControl.pdb
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\MaiMuControl.dll.config
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\bin\x64\Debug\MaiMuControl.dll
E:\CPL\迈沐智能项目\模块化\Code\MaiMuControl\MaiMuControl\obj\x64\Debug\MaiMuControl.dll

Loading…
取消
儲存