标签: vision

物体检测和计算机视觉中的mAP度量

在计算机视觉和物体检测中,常用的评估方法是mAP.它是什么以及如何计算?

metrics machine-learning vision detection computer-vision

83
推荐指数
4
解决办法
5万
查看次数

是否可以从virtualenv运行opencv(python绑定)?

我想保留virtualenv中包含的所有内容.这可能与OpenCV有关吗?我可以从头开始构建,我只需要首先设置virtualenv然后使用特殊的编译标志来告诉它安装到哪里?

python opencv distribution vision virtualenv

32
推荐指数
3
解决办法
2万
查看次数

估计图像Opencv的亮度

我一直试图在Opencv中获得图像亮度,到目前为止我已经使用了calcHist并考虑了直方图值的平均值.但是,我觉得这不准确,因为它实际上并不确定图像的亮度.我在图像的灰度版本上执行了calcHist,并试图区分从明亮图像获得的avergae值而不是中等值的avergae值.到目前为止我还没有成功.你能帮我解决一下可以通过OpenCv实现的方法或算法来估算图像的亮度吗?提前致谢.

opencv image-processing vision computer-vision

18
推荐指数
3
解决办法
2万
查看次数

使用OpenCV检测图像上人物的矩形肖像

我有许多带有人物肖像的年鉴图片,我正在尝试建立一个可以检测这些肖像的algorytm.至少,检测正确的矩形肖像.实施例1 实施例2

我正在尝试调查三个方向:

  1. 人脸检测
  2. 暗矩形检测(因为人像在较亮的背景上通常是较暗的形状)
  3. 人们从OCR的文本中提取名称

通过结合上述三种算法的结果,我希望得到一些适用于许多不同年鉴页面的方法.

对于矩形检测的任何帮助,我将非常感激.我从Java和OpenCV 3开始.

这是我申请图像的代码:

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat source = Imgcodecs.imread("Path/to/image", Imgcodecs.CV_LOAD_IMAGE_ANYCOLOR);
Mat destination = new Mat(source.rows(), source.cols(), source.type());

Imgproc.cvtColor(source, destination, Imgproc.COLOR_RGB2GRAY);
Imgproc.GaussianBlur(destination, destination, new Size(5, 5), 0, 0, Core.BORDER_DEFAULT);

int threshold = 100;
Imgproc.Canny(destination, destination, 50, 100);
Imgproc.Canny(destination, destination, threshold, threshold*3);
Run Code Online (Sandbox Code Playgroud)

在这一点上,我有这样的结果: 在此输入图像描述

试图从上面的边缘找到轮廓:

    List<MatOfPoint> contourDetections = new ArrayList<>();
    Mat hierarchy = new Mat();

    // Find contours
    Imgproc.findContours(destination, contourDetections, hierarchy, Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE);

    // Draw contours 
    Imgproc.drawContours(source, contours, -1, new Scalar(255,0,0), 2);
Run Code Online (Sandbox Code Playgroud)

得到这个结果: 在此输入图像描述

但不确定如何从这些轮廓中提取矩形,因为许多线条都是不完整的. …

java opencv vision image-recognition face-detection

18
推荐指数
1
解决办法
750
查看次数

cv2.rectangle:TypeError:由名称('厚度')和位置给出的参数(4)

我正在尝试在图像顶部可视化边界框。

我的代码:

color = (255, 255, 0)
thickness = 4
x_min, y_min, x_max, y_max = bbox
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), color, thickness=thickness)
Run Code Online (Sandbox Code Playgroud)

我得到 TypeError: Argument given by name ('thickness') and position (4) 即使我通过厚度位置上,我得到一个不同的回溯:

cv2.rectangle(img, (x_min, y_min), (x_max, y_max), color, thickness)
Run Code Online (Sandbox Code Playgroud)

加注 TypeError: expected a tuple.

python opencv vision computer-vision

12
推荐指数
2
解决办法
1万
查看次数

实施Sobel算子

我试图在水平和垂直方向上实现一个sobel算子.但不知何故,我得到了反向输出.我在下面附上的代码.用于水平面罩

char mask [3][3]=  {{-1,-2,-1},{0,0,0},{1,2,1}};

void masking(Mat image){

Mat temImage= image.clone();
for (int i = 1; i < image.rows-1; i++)
{
    for (int j = 1; j < image.cols-1; j++)
    {   
        for(int k=0;k<3;k++)
        {
            int pixel1 = image.at<Vec3b>(i-1,j-1)[k] * -1;
            int pixel2 = image.at<Vec3b>(i,j-1)[k] * -2;
            int pixel3 = image.at<Vec3b>(i+1,j-1)[k] * -1;

            int pixel4 = image.at<Vec3b>(i-1,j)[k] * 0;
            int pixel5 = image.at<Vec3b>(i,j)[k] * 0;
            int pixel6 = image.at<Vec3b>(i+1,j)[k] * 0;

            int pixel7 = image.at<Vec3b>(i-1,j+1)[k] * 1;
            int pixel8 = image.at<Vec3b>(i,j+1)[k] …
Run Code Online (Sandbox Code Playgroud)

c++ opencv vision

11
推荐指数
1
解决办法
1404
查看次数

MATLAB使用OpenCv CascadeClassifier吗?

CascadeObjectDetector在MATLAB中有一个问题.在CascadeObjectDetectorMATLAB的源代码中,我看到:

pCascadeClassifier; % OpenCV pCascadeClassifier 
Run Code Online (Sandbox Code Playgroud)

然后我看到:

%------------------------------------------------------------------
% Constructor
%------------------------------------------------------------------
function obj = CascadeObjectDetector(varargin)              
    obj.pCascadeClassifier = vision.internal.CascadeClassifier;
    ...
end
Run Code Online (Sandbox Code Playgroud)

并在stepImpl:

bbox = double(obj.pCascadeClassifier.detectMultiScale(I, ...
            double(obj.ScaleFactor), ...
            uint32(obj.MergeThreshold), ...            
            uint32(obj.MinSize), ...
            uint32(obj.MaxSize)));
Run Code Online (Sandbox Code Playgroud)

你知道vision.internal.CascadeClassifier吗,是什么?它只是OpenCV CascadeClassifier吗?detectMultiScale功能的源代码在哪里?

matlab opencv vision matlab-cvst

10
推荐指数
1
解决办法
1750
查看次数

与Python的工业视觉相机

是否有任何工业计算机视觉相机附带Python接口,或者有一个完善的第三方解决方案?

我一直在使用网络摄像头做一些工作,可以通过OpenCV轻松访问.但是,现在我需要一款更坚固,更灵活的相机.我需要能够设置某些参数,如曝光和增益.我希望尽可能避免使用其他语言而不是Python,因为Python是我最熟悉的.

我已经看过uuye相机的插件,如pyueye,看起来很好,除了这在Windows中不能很好地工作.

python opencv vision computer-vision simplecv

10
推荐指数
1
解决办法
5213
查看次数

使用OpenCV检测停车位

我正在尝试使用opencv自动查找并找到空停车场的所有停车位.

目前,我有一个阈值图像的代码,应用canny边缘检测,然后使用概率hough线找到标记每个停车位的线.

然后程序绘制线条和构成线条的点

这是代码:

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

#include <iostream>

using namespace cv;
using namespace std;

int threshold_value = 150;
int threshold_type = 0;;
int const max_value = 255;
int const max_type = 4;
int const max_BINARY_value = 255;

int houghthresh = 50;

char* trackbar_value = "Value";

char* window_name = "Find Lines";

int main(int argc, char** argv)
{
 const char* filename = argc >= 2 ? argv[1] : "pic1.jpg";
 VideoCapture cap(0);
 Mat src, dst, cdst, tdst, bgrdst;
 namedWindow( window_name, CV_WINDOW_AUTOSIZE …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing vision

9
推荐指数
1
解决办法
6965
查看次数

如何在Tracker事件中获取android facedetector的当前帧(作为Bitmap)?

我有标准的com.google.android.gms.vision.Tracker 示例在我的Android设备上成功运行,现在我需要对图像进行后处理以找到当前面部的虹膜,该虹膜已在Tracker的事件方法中得到通知.

那么,我如何获得与我在Tracker事件中收到的com.google.android.gms.vision.face.Face完全匹配的Bitmap框架?这也意味着最终的位图应该与网络摄像头分辨率匹配,而不是屏幕分辨率.

一个不好的替代解决方案是在我的CameraSource上每隔几毫秒调用一次takePicture,并使用FaceDetector单独处理这张图片.虽然这有效但我有一个问题,即视频流在拍摄过程中冻结,我得到了大量的GC_FOR_ALLOC消息导致单个bmp facedetector内存浪费.

android vision

9
推荐指数
1
解决办法
2429
查看次数