标签: depth

使用OpenCV生成3d点(假设正面并行配置)

我目前正在尝试在OpenCV中生成立体图像对的3D点.据我所知,这已经完成了很多工作.

我知道我要假设的立体声设置的外部参数是正面并行配置(实际上,它并没有那么糟糕!).我知道焦距,基线,我将假设主要点作为图像的中心(我知道,我知道......).

我使用StereoSGBM计算了一个伪装的视差图,并在O'Reilly的Learning OpenCV书之后对Q矩阵进行了手工编码,该书指定:

Q = [ 1 0 0      -c_x
      0 1 0      -c_y
      0 0 0      f
      0 0 -1/T_x (c_x - c_x')/T_x ]
Run Code Online (Sandbox Code Playgroud)

我会认为(c_x,c_y)是主要点(我在图像坐标中指定),f是焦距(我用mm描述),而T_x是两个相机或基线之间的平移(我是也在mm中描述.

int type = CV_STEREO_BM_BASIC;
double rescx = 0.25, rescy = 0.25;
Mat disparity, vdisparity, depthMap;

Mat frame1 = imread( "C:\\Users\\Administrator\\Desktop\\Flow\\IMG137.jpg", CV_LOAD_IMAGE_GRAYSCALE );
Mat frame1L = frame1( Range( 0, frame1.rows ), Range( 0, frame1.cols/2 ));
Mat frame1R = frame1( Range( 0, frame1.rows ), Range( frame1.cols/2, frame1.cols ));

resize( frame1L, frame1L, Size(), rescx, rescy ); …
Run Code Online (Sandbox Code Playgroud)

3d opencv depth

7
推荐指数
1
解决办法
6279
查看次数

使用UITabBarController添加持久性UIView

我有一个使用UITabBarController的应用程序,我有另一个视图需要从标签栏控件后面向上滑动,但在标签栏的内容前面.如果这还不清楚,想象一个广告在标签应用程序中向上滑动,该应用程序出现在除标签栏按钮之外的所有内容之前.

到目前为止,我的代码看起来像这样,但如果有更好的方法,我愿意改变它...

tabBarController.viewControllers = [NSArray arrayWithObjects:locationNavController, emergencyNavController, finderNavController, newsNavController, nil]; 

aboutView = [[AboutView alloc] initWithFrame:CGRectMake(0, window.frame.size.height - tabBarController.tabBar.frame.size.height - 37 ,
                                                        320, window.frame.size.height - tabBarController.tabBar.frame.size.height)];


[window addSubview:tabBarController.view];    // adds the tab bar's view property to the window
[window addSubview:aboutView]; // this is the view that slides in
[window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

目前aboutView是UIView的子类,位于底部的起始位置,但它隐藏了tabBarController.如何更改此选项以使选项卡位于顶部,但仍然在其他内容前面显示aboutView?

iphone objective-c uitabbarcontroller uiview depth

6
推荐指数
1
解决办法
2339
查看次数

在Matlab中保存Kinect深度图像?

通过使用Kinect,我可以获得深度图像,其中每个深度图像像素存储相机和对象之间的距离(以毫米为单位).现在我想保存它们以便以后使用.什么是最好的推荐?

我想将深度图像保存为图像(jpg/png等).但是,该值通常为50毫米至10000毫米,而普通图像元素可以存储0-255.然后我需要将数据扩展到0-255范围,并且可能以某种方式利用数据.

matlab image-processing depth kinect

6
推荐指数
1
解决办法
3837
查看次数

如何获取JTree中当前节点的深度?

我有一个带有几个节点和子节点的JTree.当我点击一个节点时我想知道它的深度(0,1,3).我怎么知道?

selected_node.getDepth(); 
Run Code Online (Sandbox Code Playgroud)

不返回当前节点的深度..

java swing treenode jtree depth

6
推荐指数
1
解决办法
4734
查看次数

Django模型中的抽象继承,导致MAX递归深度误差

我正在尝试使用以下代码在Django中实现抽象继承,但它会产生MAX递归深度错误.我试图覆盖模型的save方法.

class BaseModel(models.Model):
    class Meta:
        abstract = True

    def save(self, *args, **kwargs):
        #i'm doing something here

        #i think the problem is in the return statement specifically because of the
        #self.__class__ expression.
        return super(self.__class__, self).save(*args, **kwargs)

class MyModel(BaseModel):
    p = models.CharField(max_length=30)
Run Code Online (Sandbox Code Playgroud)

产生此错误(跟踪结束,它很长):

  File "/home/jultra/ap3w/jultra_01/mysite/testsite/models.py", line 10, in save
    return super(self.__class__, self).save(*args, **kwargs)
  File "/home/jultra/ap3w/jultra_01/mysite/testsite/models.py", line 10, in save
    return super(self.__class__, self).save(*args, **kwargs)
  File "/home/jultra/ap3w/jultra_01/mysite/testsite/models.py", line 10, in save
    return super(self.__class__, self).save(*args, **kwargs)
  File "/home/jultra/ap3w/jultra_01/mysite/testsite/models.py", line 10, in save
    return …
Run Code Online (Sandbox Code Playgroud)

django recursion inheritance depth

6
推荐指数
1
解决办法
1149
查看次数

递归以找到表达的深度

我试图使用递归来找到"表达式"的深度,即有多少层嵌套元组:例如,

depth(('+', ('expt', 'x', 2), ('expt', 'y', 2))) => 2

depth(('/', ('expt', 'x', 5), ('expt', ('-', ('expt', 'x', 2), 1), ('/', 5, 2)))) => 4
Run Code Online (Sandbox Code Playgroud)

基本上,我认为我需要检查(从out到in)为每个元素作为元组的实例,然后如果是,则递归调用depth函数.但我需要找到一种方法来确定哪一组递归调用具有最大的深度,这就是我被卡住的地方.这是我到目前为止所拥有的:

def depth3(expr):
    if not isinstance(expr, tuple):
        return 0
    else:
        for x in range(0, len(expr)):
            # But this doesn't take into account a search for max depth
            count += 1 + depth(expr[x])
    return count
Run Code Online (Sandbox Code Playgroud)

想一个好方法来解决这个问题?

python recursion tracking depth

6
推荐指数
1
解决办法
3685
查看次数

使用opencv和LUT减少颜色深度

我想通过颜色深度缩放来执行颜色缩减.

像这个例子: 在此输入图像描述

第一个图像是CGA分辨率,第二个是EGA,第三个是HAM.我想用cv :: LUT来做,因为我认为这样做更好.我可以使用以下代码处理灰度:

Mat img = imread("test1.jpg", 0);
uchar* p;
Mat lookUpTable(1, 256, CV_8U);
p = lookUpTable.data;
for( int i = 0; i < 256; ++i)
    p[i] = 16 * (i/16)
LUT(img, lookUpTable, reduced);
Run Code Online (Sandbox Code Playgroud)

原版的:在此输入图像描述

颜色减少: 在此输入图像描述

但如果我尝试用颜色做它我得到奇怪的结果..

在此输入图像描述

使用此代码:

imgColor = imread("test1.jpg");
Mat reducedColor;
int n = 16;
for (int i=0; i<256; i++) {
    uchar value = floor(i/n) * n;
    cout << (int)value << endl;
    lut.at<Vec3b>(i)[2]= (value >> 16) & 0xff;
    lut.at<Vec3b>(i)[1]= (value >> 8) & 0xff;
    lut.at<Vec3b>(i)[0]= value …
Run Code Online (Sandbox Code Playgroud)

c++ opencv colors depth

6
推荐指数
1
解决办法
6559
查看次数

Disparity map中的OpenCv深度估计

我试图用OpenCV估计立体声对图像的深度.我有视差图和深度估计可以获得如下:

             (Baseline*focal)
depth  =     ------------------
           (disparity*SensorSize)
Run Code Online (Sandbox Code Playgroud)

我已经使用块匹配技术在两个校正的图像中找到相同的点.例如,OpenCV允许设置一些块匹配参数BMState->numberOfDisparities.

块匹配过程后:

cvFindStereoCorrespondenceBM( frame1r, frame2r, disp, BMState);
cvConvertScale( disp, disp, 16, 0 );
cvNormalize( disp, vdisp, 0, 255, CV_MINMAX );
Run Code Online (Sandbox Code Playgroud)

我发现深度值为:

if(cvGet2D(vdisp,y,x).val[0]>0)
   {
   depth =((baseline*focal)/(((cvGet2D(vdisp,y,x).val[0])*SENSOR_ELEMENT_SIZE)));
   }
Run Code Online (Sandbox Code Playgroud)

但是由于其值BMState->numberOfDisparities改变了结果值,所获得的深度值与前一个公式得到的值不同.

如何设置此参数?怎么改变这个参数?

谢谢

c++ opencv computer-vision disparity-mapping depth

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

如何在使用RECURSIVE选择后代的Postgres查询中打印深度级别?

我有一个persons包含列的表parent_id,它引用同一个表中的另一行.假设这是逻辑层次结构:

          P1
  P2      P3      P4
P5  P6  P7  P8  P9  P10
Run Code Online (Sandbox Code Playgroud)

我编写了一个查询,打印给定节点的所有父节点,以及节点上方的高度,它似乎工作正常:

WITH
RECURSIVE ancestors AS (
  SELECT id, parent_id
    FROM persons
    WHERE id = 8
  UNION
    SELECT p.id, p.parent_id
      FROM persons p
      INNER JOIN ancestors
        ON
          p.id = ancestors.parent_id
  )
SELECT persons.id, persons.name,
      ROW_NUMBER() over () as height
  FROM ancestors
  INNER JOIN persons
  ON
    ancestors.id = persons.id
  WHERE
    persons.id <> 8
Run Code Online (Sandbox Code Playgroud)

结果:

  id   |    name     | height 
-------+-------------+---------
    3  | P3          |      1
    1  | …
Run Code Online (Sandbox Code Playgroud)

postgresql tree recursion depth

6
推荐指数
1
解决办法
3676
查看次数

使用来自 AVDepthData 的差异的 iPhone X 后置摄像头的绝对深度?

我正在尝试AVDepthData根据以下方程估计对象的绝对深度(以米为单位):depth = baseline x focus_length / (disparity + d_offset)。我有来自 的所有参数cameraCalibrationData,但是这是否仍然适用于使用 iPhone X 在人像模式下拍摄的图像,因为两个摄像头垂直偏移?同样基于WWDC 2017 Session 507,视差图是相对的,但AVDepthData文档指出视差值在 1/m 中。那么我可以按原样将方程应用于深度数据中的值,还是需要事先进行一些额外的处理?

var depthData: AVDepthData

do {
  depthData = try AVDepthData(fromDictionaryRepresentation: auxDataInfo)

} catch {
  return nil
}

// Working with disparity
if depthData.depthDataType != kCVPixelFormatType_DisparityFloat32 {
  depthData = depthData.converting(toDepthDataType: kCVPixelFormatType_DisparityFloat32)
}

CVPixelBufferLockBaseAddress(depthData.depthDataMap, CVPixelBufferLockFlags(rawValue: 0))

// Scale Intrinsic matrix to be in depth image pixel space
guard var intrinsicMatrix = depthData.cameraCalibrationData?.intrinsicMatrix …
Run Code Online (Sandbox Code Playgroud)

disparity-mapping stereo-3d depth ios swift

6
推荐指数
0
解决办法
922
查看次数