在计算机视觉和物体检测中,常用的评估方法是mAP.它是什么以及如何计算?
我想保留virtualenv中包含的所有内容.这可能与OpenCV有关吗?我可以从头开始构建,我只需要首先设置virtualenv然后使用特殊的编译标志来告诉它安装到哪里?
我一直试图在Opencv中获得图像亮度,到目前为止我已经使用了calcHist并考虑了直方图值的平均值.但是,我觉得这不准确,因为它实际上并不确定图像的亮度.我在图像的灰度版本上执行了calcHist,并试图区分从明亮图像获得的avergae值而不是中等值的avergae值.到目前为止我还没有成功.你能帮我解决一下可以通过OpenCv实现的方法或算法来估算图像的亮度吗?提前致谢.
我有许多带有人物肖像的年鉴图片,我正在尝试建立一个可以检测这些肖像的algorytm.至少,检测正确的矩形肖像.实施例1 实施例2
我正在尝试调查三个方向:
通过结合上述三种算法的结果,我希望得到一些适用于许多不同年鉴页面的方法.
对于矩形检测的任何帮助,我将非常感激.我从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)
但不确定如何从这些轮廓中提取矩形,因为许多线条都是不完整的. …
我正在尝试在图像顶部可视化边界框。
我的代码:
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.
我试图在水平和垂直方向上实现一个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) 我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功能的源代码在哪里?
是否有任何工业计算机视觉相机附带Python接口,或者有一个完善的第三方解决方案?
我一直在使用网络摄像头做一些工作,可以通过OpenCV轻松访问.但是,现在我需要一款更坚固,更灵活的相机.我需要能够设置某些参数,如曝光和增益.我希望尽可能避免使用其他语言而不是Python,因为Python是我最熟悉的.
我已经看过uuye相机的插件,如pyueye,看起来很好,除了这在Windows中不能很好地工作.
我正在尝试使用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) 我有标准的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内存浪费.
vision ×10
opencv ×8
python ×3
c++ ×2
android ×1
detection ×1
distribution ×1
java ×1
matlab ×1
matlab-cvst ×1
metrics ×1
simplecv ×1
virtualenv ×1