用C++标记图像中的兴趣点
我有一个像这样的位图映像 我的要求是创建一个GUI来加载图像并更改图像和算法上的对比度和其他事物,以使用C ++或C#.我的搜索我发现我可以使用图像的直方图查找所需区域.这些步骤. 获取直方图 搜索强度差 在行中搜索中断 有人可以建议我如何从这里开始. 注意: 此图像具有许多明亮的点,并且Blob算法并不成功. 任何其他建议,以检索矩形的正确坐标. 谢谢 解决方案 OpenCV应该起作用. 将您的输入图像转换为灰度. adaptiveThreshold将其转换为黑白 特征检测 拥有OPENCV功能检测器的完整列表;根据您要检测到的确切功能选择一个. 例如.看看其他解决方案 如果您的所有图片看起来都这样,在我看来,将银色区域分割并找到其中心似乎并不复杂.基本上,您需要在以下序列中应用这些算法: 我会建议使用OTSU自适应阈值算法二进制图像 应用标签(BLOB)算法 如果您对噪声有一些问题 如果您最终只有一个斑点(我猜最
14 2024-04-22
编程技术问答社区
微软认知服务视界API的ClientException错误
我正在尝试使用视觉认知服务来接收图像的描述,但是我的代码总是抛出以下例外: Exception Microsoft.ProjectOxford.Vision.ClientException HResult=0x80131500 Origine= Stack: in Microsoft.ProjectOxford.Vision.VisionServiceClient.HandleException (Exception exception) in Microsoft.ProjectOxford.Vision.VisionServiceClient.b__42_1[TRequest,TResponse](Exception e) in System.AggregateException.Handle(Func`2 predicate) in Microsoft.P
8 2024-04-20
编程技术问答社区
dllnotfoundException:无法加载dll'azure-ai-vision-core'或其依赖项之一:找不到指定的模块. (0x8007007E)
我部署了Azure Service应用程序(Web应用程序)后出现了此错误. 我重新安装了nuget的azure.ai.vision.vision.core,但没有修复. 有人遇到了这个错误吗? 解决方案 我也有类似的问题(部署到Azure App Service时,"无法加载dll'Azure-ai-vision-native"错误). 此响应对一个类似的问题,我朝着正确的方向指示我的方向...即,将我的应用程序服务更改为64位"" Azure门户中的配置" >>"常规设置": 显然,Azure AI库仅为64位. 其他解决方案 我认为关键问题不仅仅是x64.它是因为Azure AI Vision SDK需要一些先决条件. Windows 10(或更高) X64 PC.我们目前仅支持 x64 平台. .net Runtime 8.0 中进行了测试. 您还需要部署所需的库进行运行时分发.输出文件夹包含支持不同视觉SDK API所需的许多DL
2 2024-04-16
编程技术问答社区
Android Vision Api-条码检测如何获得条码的类型?
我正在使用Android Google Vision API,并创建了一个标准条形码读取器,但是我想检测读取的哪种类型/格式,即CODE 39, CODE 128,QR Code ....等 无论如何是否有返回类型? 谢谢 解决方案 因为我找不到任何宽带功能来解码格式的整数值 我使用了以下自定义方法 private String decodeFormat(int format) { switch (format){ case Barcode.CODE_128: return "CODE_128"; case Barcode.CODE_39: return "CODE_39"; case Barcode.CODE_93: return "CODE_93"; case Barcode.CODABAR:
4 2024-03-27
编程技术问答社区
处理CMSampleBuffer时,CIDetector崩溃了
问题: 我正在尝试通过cmsamplebuffer从avcapturevideodataoutput中获得面部功能.在执行程序时,10次中有9次程序崩溃,只有在运行良好后才崩溃. 预期输出: 在功能检测时不崩溃并打印"快乐". 代码: func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) { let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)! let opaqueBuffer = Unmanaged.passUnretained(imageBuffer).toOpaque() let pixelBuffer = Unmanaged
14 2024-03-21
编程技术问答社区
如何在yii2框架中把Google Cloud Vision API凭证密钥文件指向GOOGLE_APPLICATION_CREDENTIALS变量
我想使用Google Cloud Vision API进行图像识别,在我的YII2框架中安装了一切. 我会遇到身份验证错误,例如: > Google\Cloud\Core\Exception\ServiceException > { > "error": { > "code": 403, > "message": "The request is missing a valid API key.", > "status": "PERMISSION_DENIED" > } > } > 1. in C:\xampp\htdocs\vofms\vendor\google\cloud-core\src\RequestWrapper.php > at line 336 > 32732832933033133233333433533633733 如何将我的键. 谢谢 解决方案 您正在失败的观点是身份验证
8 2024-03-02
编程技术问答社区
com.google.android.gms.vision.dynamite的本地模块描述符类未找到。
我是Google Mobile Vision API的新手,并且我一直在使用条形码检测器类检测条形码.该应用程序工作正常,但在我的Android 4.2.2手机中不起作用.我已经将Play Services更新为V10.0.1,但仍然不好.当通过调试器连接到Android Studio时,我会收到消息:"找不到com.google.android.gms.vision.dynamite的本地模块描述符类". 我已经在其他Android 4.2.2设备中尝试了该应用程序.它有效,但是由于某种原因,它在我的工作中行不通. 谁能帮助我解决上述错误?我可能会错过的一些图书馆? 解决方案 对我来说,该设备没有Google-play-Service.我只是从Google Play商店和更新软件下载(Google-Play-Service). (oppo) 其他解决方案 释放一些内存,您应该很好.我到达2GB,现在正常工作. 其他解决方案 问题是模拟器.因为它没有提供商,所以您
18 2024-03-01
编程技术问答社区
如何在基于tensorflow lite对象检测的android应用程序中添加文本-语音?
我正在尝试构建一个应用程序,该应用程序将帮助视觉障碍的人以自己的方式检测对象/障碍.因此,使用TensorFlow库和Android文本到语音,一旦检测到对象,该应用程序将使用户知道对象是什么.我目前正在尝试构建TensorFlow提供的Android对象检测示例,但是我很难找到存储边界框标签的字符串的位置,以便在运行文本到语音语音时可以称呼它 解决方案 我看到了对象检测的项目.您可以在项目内两个地方找到推断的结果: 首先,您可以在 内找到它们 TFLiteObjectDetectionAPIModel.java 在那里您可以在line 227 for > 识别对象 例如 Log.i("Recognitions", String.valueOf(recognitions.get(0).getTitle())); 第二 DetectorActivity.java 您可以记录 结果对象 在line 然后,您可以按照进行此示例进
28 2024-02-10
编程技术问答社区
新的安卓面孔API限制
我一直在测试Android的新脸API,即使启用了" cecuctate_mode",它也没有检测到旧的faceDetector API用于检测到的面孔,我也想知道位图编码的效果" RGB_565" vs" ArgB_888"在产生结果中. 解决方案 更新: 问题是,面部检测器仅检测到默认情况下至少为10%的面(作为性能优化). 新的Google Play Services 8.4版本支持设置最小面部尺寸较低,从而可以检测到较小的面孔.请参阅此处的SetMinfacesize方法: 其他解决方案 我已经在我们的obscuracam [0]项目上看到了同样的问题,并使用旧的和新的API尝试并尝试最大化检测. 似乎新的API仅在给您面部标志和表达分类的细节上更好,而不是实际检测面孔或部分面孔的能力. [0] https://github.com/guardianproject/guardianproject/obscuracam
34 2024-02-09
编程技术问答社区
带有立体三维重建的OpenCV
说我计划使用立体声方法使用OpenCV进行3D重建...而且我没有任何特殊的立体声摄像头,而只有网络摄像头. 1.)如何使用一组Web摄像头构建便宜的立体声设置? 2.)是否可以使用Web Cams拍摄两个图像,并使用OpenCV API转换为立体声? 我将使用下面链接的立体声算法 with opencV 使用这种方法,我想创建室内环境的详细映射. (我不想使用任何项目之类的项目,而没有分发源代码就无法用于商业目的) 解决方案 您可以在这里找到很多资源资源/" rel =" noreferrer">教程和立体声摄像机 其他解决方案 首先,确保您的网络摄像头没有任何内置自动对焦技术.由于相机应具有固定焦距. 1)在规范配置中与基线距离变化的摄像机对齐.然后使用OpenCV的stereo_calib.cpp程序对其进行校准.通常,距离为20-60厘米.对于某些网络摄像机,甚至10厘米都可以为您带来更好的结果.如果RMS错误和再投影错误小于0.5,则可以
54 2024-01-08
编程技术问答社区
C# ColorTranslator.FromHtml() 对 "Grey "抛出了异常(不是int32的有效值)。
我在应用程序中使用Microsoft认知服务/视觉API. Vision API返回颜色为字符串 - 十六进制(没有"#"前缀)或名称. 为了将其转换为system.drawing.color,我可以用作面板背景颜色,我正在使用以下代码: // Hex Color Format Regex hex = new Regex("^#(?:[0-9a-fA-F]{3}){1,2}$"); // Colours System.Drawing.Color accent = new System.Drawing.Color(); System.Drawing.Color fore = new System.Drawing.Color(); System.Drawing.Color back = new System.Drawing.Color(); try { if (hex.IsMatch("#" + result.Color.AccentColor.ToString()
56 2023-12-10
编程技术问答社区
是否可以从virtualenv中运行opencv(python绑定)?
我想将所有内容保留在Virtualenv中. OpenCV是否可以?我可以从头开始构建,我是否只需要先设置Virtualenv,然后使用特殊的编译标志来告诉它在哪里安装? 解决方案 我发现解决方案是我必须通过cv2.so和cv.py复制到运行Virtualenv的目录,然后pip instal numpy.为了在ubuntu 12.04上这样做. virtualenv virtopencv cd virtopencv cp /usr/local/lib/python2.7/dist-packages/cv* ./lib/python2.7/site-packages/ ./bin/pip install numpy source bin/activate python import cv 其他解决方案 来自Opencv 安装指南: 默认情况下,OPENCV构建系统将选择可以找到的Python的最新版本,或者您可以在调用CMAKE时强迫使用Python_execu
24 2023-11-19
编程技术问答社区
以指定的时间间隔记录视频,然后将其保存到文件中 OpenCv Python
这是我的目标. 连续捕获视频直到'q;按下 每十秒钟将视频保存在创建的目录文件中 继续第二步,直到按下" Q" 我正在执行以下代码.但是,当创建文件时,它正在创建6KB文件,并说无法播放.我是OpenCV和Python的新手.不知道我缺少什么.使用Python 3.6在Pycharm上运行此代码.还有 cv2.imshow('frame',frame) 十秒钟后停止,但记录在背景中发生,并创建了文件. import numpy as np import cv2 import time import os import random import sys fps=24 width=864 height=640 video_codec=cv2.VideoWriter_fourcc('D','I','V','X') name = random.randint(0,1000) print (name) if (os.path.isdir(str(name)
42 2023-11-18
编程技术问答社区
Swift iOS-Vision框架文本识别和矩形
我试图在使用视觉框架发现的文本区域上绘制矩形,但它们总是有点偏离.我这样做: public func drawOccurrencesOnImage(_ occurrences: [CGRect], _ image: UIImage) -> UIImage? { UIGraphicsBeginImageContextWithOptions(image.size, false, 0.0) image.draw(at: CGPoint.zero) let currentContext = UIGraphicsGetCurrentContext() currentContext?.addRects(occurrences) currentContext?.setStrokeColor(UIColor.red.cgColor) currentContext?.setLineWidth(2.0) currentContext
22 2023-11-05
编程技术问答社区
从圆柱体内部投射到平面的图像 2D [Matlab]
用圆柱体内的相机捕获了图像.我想将该图像转换为平面2D.圆柱体内部的图像具有许多形成网格的点. 我试图做的是估计转换.通过BLOB分析,我可以检测每个点的中心,并以像素为单位.我将其保存在称为imcilynder的矩阵中.之后,我创建一个带有飞机上的坐标的矩阵,名称为im2d. i计算求解方程的转换(h): Imcilynder * H= Im2d; H= matrix [9x1] H=pinv(Imcilynder) * Im2d 但是,当我用相同点进行测试时,结果是完全随机的,所以我做错了. 有更好的方法解决这个问题吗?你能帮助我吗? 解释更好, 我正在尝试找到将上图转换为此图像的转换: 因此,为了澄清,我想要我在第一个图像中看到的点的投影.基本上,我要解开圆柱体. 计算转换矩阵后.我期望将第一个图像乘以转换矩阵并获得平面中的点.或乘以黑点的中心的坐标并在平面中获得该点的坐标.这可能是吗? 非常感谢 afonso 解
46 2023-10-25
编程技术问答社区
在iPhone上可以实时识别数字吗?
我需要实时从iPhone上的相机图像中识别数字.我知道图像上的数字不超过5位. 鉴于iPhone的计算规格,解决这个问题是现实的吗? 有人使用Tesseract OCR库有任何经验,您认为可以通过使用它来解决它吗? 解决方案 取决于您对"实时"的定义,但是是的,应该可以相对快速地识别iPhone 4上的数字0-9,尤其是如果您可以字体,点亮条件等等.它们将出现在. 我强烈建议您阅读 sudoku Grab如何如何使用iPhone摄像头认识到难题.在他们的情况下,使用训练有素的神经网络来识别数字,这在现代iOS硬件上应该相当简单,快速. 当前的识别库,例如OpenCV,将使用iPhone的CPU进行处理.我听说他们可以快速执行更复杂的任务,例如面部识别能够快速使用视频源,同时显示出最少的口吃. 为了更好的性能,我相信在较新的iOS设备上可编程的GPU具有很大的潜力.在我的基准标准使用iPhone 4的GPU进行简单的图像处理时,看到14倍-28倍的加速.尽管
22 2023-10-17
编程技术问答社区
视觉框架条形码检测区域不起作用
我正在尝试解码出现在感兴趣区域的条形码,即屏幕宽度的80%和屏幕高度的20%,并以两个方向为中心(蓝色矩形). 相机像素缓冲区向右旋转. 这是苹果对此方向所说的话: 原点点(0,0)的(x,y)像素坐标表示 上排和最右边的列.像素(x,y)位置 增加自上而下的,左右.如果图像编码 此方向,然后通过软件不知道方向显示 元数据,该图像似乎逆时针旋转90°. (那 是,要在其预期的方向上呈现图像,您必须旋转 它顺时针90°.) 所以,当我定义VNDetectBarcodesRequest的感兴趣区域时,我确实喜欢: lazy var barcodeRequest: VNDetectBarcodesRequest = { let barcodeRequest = VNDetectBarcodesRequest {[weak self] request, error in guard error == nil else { pr
20 2023-10-10
编程技术问答社区
如何以最高的信心跟踪条形码
我正在使用视觉框架来检测条形码.我想对实时视频充满信心地显示条形码周围的矩形,这意味着我想跟踪到实时预览中看到的条形码. . 所以我有此代码来检测ROI中的条形码. lazy var barcodeRequest: VNDetectBarcodesRequest = { let barcodeRequest = VNDetectBarcodesRequest {[weak self] request, error in guard error == nil else { print ("ERRO: \(error?.localizedDescription ?? "error")") return } self?.resultClassification(request) } barcodeRequest.regionOfInterest = CGRect(x: 0,
26 2023-10-09
编程技术问答社区
在OpenCV中检测不完整的矩形(缺角/短边)。
我一直在处理openCV平方样品的变体以检测矩形.它对封闭的矩形工作正常,但是我想知道我可以采用哪种方法来检测带有开口的矩形,即缺少拐角,线太短. 我执行一些扩张,这会缩小较小的间隙,但没有这些较大的间隙. 我考虑使用凸壳或边界rect生成轮廓进行比较,但是由于矩形的边缘被断开,每个矩形的边缘都将读为单独的轮廓. 我认为第一步是检测哪些线是形成完整矩形的候选者,然后执行某种直线外推.此似乎很有希望 . 我正在尝试检测此图像中的三个最左边的矩形: 解决方案 也许本文很感兴趣? 基本上,采用图像的霍夫线变换.您将在(theta,rho)空间的位置获得与有线路的地方有关的位置.值越大,线路的越长/更直.也许要阈值只能获得最好的线条.然后,我们试图寻找 的一对线 1)平行:最大值发生在类似的theta值 时 2)相似的长度:最大值的值相似 3)与另一对线的正交:theta值距离其他对的theta值 相距90度 论文中还有更多细节,例如在滑动窗
44 2023-08-31
编程技术问答社区
颜色叠加算法
我正在寻找一种算法,以叠加在现有图片之上的颜色.类似于以下应用程序(墙画家)类似的内容: itunes.apple.com/us/app/wall-painter/id396799182?mt=8 我想要类似的功能,以便我可以在现有图片中绘制墙壁并将其更改为其他颜色. 我可以在YUV或RGB模式下工作. 解决方案 要成功地将墙壁绘制在图片中,您必须执行两个步骤: 在图片中找到墙的边界(选择要着色的图像的一部分) 将所需颜色应用于选定的区域 第一步是困难的部分.它类似于Photoshop的Magic Wand工具会做什么.的确,搜索魔术魔杖算法提出了一些好文章,例如文章使用Objective-C代码. 第二步要容易得多,可以通过CGContextSetBlendMode和CGContextDrawImage实现. 其他解决方案 您可以尝试使用kCGBlendModeColor绘制图形上下文.从文档中: 使用背景的亮度值,带有源图像的
18 2023-08-23
编程技术问答社区