FCK begin

html->FCK
base on DocId
1:immediacy upload open DocId dir
2:broswer open DocId dir
using System; using System.Collections.Generic; using GxIAPINET; using HalconDotNet; using Host.Helpers.Drives; using System.Drawing; using System.IO; using System.Windows; using System.Windows.Media.Imaging; using System.Windows.Media.Media3D; using System.Windows.Navigation; using System.Windows.Shapes; using static MaterialDesignThemes.Wpf.Theme; namespace Scandata { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { //public static readonly ILog _logger = LogManager.GetLogger(typeof(MainWindow)); private readonly HObject ho_Image; private HTuple hv_ResultHandles; // 定义设备对象 private readonly IGXDevice _device; // 定义流对象 private readonly IGXStream _stream; // 定义是否正在采集的标志 private readonly bool _isCapturing = false; // 引用声明 DhCamera dhCamera = new DhCamera("FCK23060819"); private HTuple hv_DecodedDataStrings; private HObject ho_ImagePart; private HObject ho_SymbolXLDs; private HTuple hv_DataCodeHandle; public IntPtr ho_img { get; private set; } public MainWindow() { InitializeComponent(); //_logger.Info("主窗口加载"); } private void ClearButton_Click(object sender, RoutedEventArgs e) { MessageBoxResult result = MessageBox.Show("确定要清空文本框内容吗?", "确认清空", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { Operator.Text = ""; PartNumber.Text = ""; Lot.Text = ""; PCS.Text = ""; } } private void OpenCamera(object sender, RoutedEventArgs e) { try { // 初始化SDK IGXFactory.GetInstance().Init(); //txtStatus.Text = "SDK初始化成功"; // 相机数量 int canNum = DhCamera.GetCamNum(out List<string> cameraList); //txtStatus.Text = cameraList[0]; Console.WriteLine($"相机数量: {canNum} "); dhCamera.OpenCameraFunc((sn, meg) => { // 相机掉线回调事件 }, (sn, img) => { // 回传图像事件 Console.WriteLine($"相机SN: {sn}"); Console.WriteLine($"图像尺寸: {img.Width}×{img.Height}"); Application.Current.Dispatcher.Invoke(() => { imgDisplay.Source = ConvertBitmapToBitmapImage(img) ; }); }); } catch (CGalaxyException ex) { MessageBox.Show($"连接失败: {ex.Message} (错误码: {ex.GetErrorCode()})"); } } public BitmapImage ConvertBitmapToBitmapImage(Bitmap bitmap) { using (MemoryStream memoryStream = new MemoryStream()) { bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp); // 将Bitmap保存到MemoryStream中 memoryStream.Position = 0; // 重置MemoryStream的位置到开始处 BitmapImage bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.CacheOption = BitmapCacheOption.OnLoad; // 设置缓存选项 bitmapImage.StreamSource = memoryStream; // 使用MemoryStream初始化BitmapImage bitmapImage.EndInit(); bitmapImage.Freeze(); // 冻结BitmapImage以防止后续修改 return bitmapImage; } } /// <summary> /// 开始采集图像 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CaptureImage(object sender, RoutedEventArgs e) { dhCamera.StartAcqFunc(); } /// <summary> /// 二维码的识别 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RecognizeQRCode(object sender, RoutedEventArgs e) { HSystem hSystem = new HSystem(); HObject ho_Image = null; try { //读取图像 ho_Image.Dispose(); ho_Image = new HObject(ho_img); HTuple hv_DataCodeHandle; // 创建二维码读取器 HOperatorSet.CreateDataCode2dModel("Data Matrix ECC 200", new HTuple(), new HTuple(), out hv_DataCodeHandle); HOperatorSet.SetDataCode2dParam(hv_DataCodeHandle, "polarity", "light_on_dark"); HOperatorSet.SetDataCode2dParam(hv_DataCodeHandle, "default_parameters", "enhanced_recognition"); // 读取二维码 // 查找二维码 HTuple hv_ResultHandles, hv_DecodedDataStrings; //HOperatorSet.FindDataCode2d(ho_Image, out hv_ResultHandles, hv_QRCodeModelID, new HTuple(), new HTuple(), out hv_DecodedDataStrings); HOperatorSet.FindDataCode2d(ho_ImagePart, out ho_SymbolXLDs, hv_DataCodeHandle, new HTuple(), new HTuple(), out hv_ResultHandles, out hv_DecodedDataStrings); QRCodeInfo.Text = hv_DecodedDataStrings; // 解析二维码信息 string[] qrCodeInfo = hv_DecodedDataStrings.ToString().Split(','); if (qrCodeInfo.Length == 4) { Operator.Text = qrCodeInfo[0]; PartNumber.Text = qrCodeInfo[1]; Lot.Text = qrCodeInfo[2]; PCS.Text = qrCodeInfo[3]; } else { MessageBox.Show("二维码信息解析失败!"); } } catch (HalconException ex) { MessageBox.Show($"Halcon操作出错: {ex.Message}"); } finally { HOperatorSet.ClearDataCode2dModel(hv_DataCodeHandle); ho_Image.Dispose(); ho_ImagePart.Dispose(); ho_SymbolXLDs.Dispose(); hv_DataCodeHandle.Dispose(); hv_ResultHandles.Dispose(); hv_DecodedDataStrings.Dispose(); } }上段代码哪里出错了,帮我修改一下,不能够识别二维码
11-16
【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值