小编bak*_*olo的帖子

计算属性与使用闭包设置的属性之间的差异

我是Swift的新手.计算属性和设置为闭包的属性之间有什么区别?我知道每次都会重新计算计算属性.闭合不同吗?即

关闭:

var pushBehavior: UIPushBehavior = {
    let lazilyCreatedPush = UIPushBehavior()
    lazilyCreatedPush.setAngle(50, magnitude: 50)
    return lazilyCreatedPush
}()
Run Code Online (Sandbox Code Playgroud)

计算:

var pushBehavior: UIPushBehavior {
    get{
        let lazilyCreatedPush = UIPushBehavior()
        lazilyCreatedPush.setAngle(50, magnitude: 50)
        return lazilyCreatedPush
    }
}
Run Code Online (Sandbox Code Playgroud)

swift computed-properties

59
推荐指数
3
解决办法
1万
查看次数

一次从OpenCV中的两个摄像头捕获视频

如何使用Python API一次(或几乎)使用OpenCV从两个或多个摄像头捕获视频?

我有三个网络摄像头,都具有视频流功能,位于/ dev/video0,/ dev/video1和/ dev/video2.

教程为例,从单个摄像头捕获图像就是:

import cv2
cap0 = cv2.VideoCapture(0)
ret0, frame0 = cap0.read()
cv2.imshow('frame', frame0)
cv2.waitKey()
Run Code Online (Sandbox Code Playgroud)

这很好用.

但是,如果我尝试初始化第二个摄像头,尝试read()从它返回None:

import cv2
cap0 = cv2.VideoCapture(0)
cap1 = cv2.VideoCapture(1)
ret0, frame0 = cap0.read()
assert ret0 # succeeds
ret1, frame1 = cap1.read()
assert ret1 # fails?!
Run Code Online (Sandbox Code Playgroud)

为了确保我不会意外地给OpenCV一个坏的相机索引,我单独测试了每个相机索引,它们都是自己工作的.例如

import cv2
#cap0 = cv2.VideoCapture(0)
cap1 = cv2.VideoCapture(1)
#ret0, frame0 = cap0.read()
#assert ret0
ret1, frame1 = cap1.read()
assert ret1 # now it works?!
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:我的硬件是运行Ubuntu的Macbook Pro.在Macbook上专门研究这个问题,我发现其他人也遇到过这个问题,无论是在OSX上还是在不同类型的摄像头上.如果我访问iSight,我的代码中的两个调用都会失败.

python camera opencv

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

C++:std :: atomic <bool>和volatile bool

我只是在阅读Anthony Williams的行动书中的C++并发性.有这个经典的例子有两个线程,一个产生数据,另一个消耗数据,AW写的代码很清楚:

std::vector<int> data;
std::atomic<bool> data_ready(false);

void reader_thread()
{
    while(!data_ready.load())
    {
        std::this_thread::sleep(std::milliseconds(1));
    }
    std::cout << "The answer=" << data[0] << "\n";
}

void writer_thread()
{
    data.push_back(42);
    data_ready = true;
}
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么这个代码与我使用经典的挥发性bool而不是原子的不同.如果有人能够对这个问题敞开心扉,我将不胜感激.谢谢.

c++ multithreading

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

Nuitka错误无法在绝对导入中找到''in package''

我正在尝试使用nuitka工具将我的python程序转换为ubuntu上的可执行文件.如果程序没有任何import语句,但是当我在导入某些程序的程序上使用它时,它会正常工作

test.py

import numpy

print "hello, world."
Run Code Online (Sandbox Code Playgroud)

在命令行上输入此内容

nuitka --recurse-all --python-version=2.7 test.py
Run Code Online (Sandbox Code Playgroud)

并给我这些错误

Nuitka:WARNING:/usr/lib/python2.7/dist-packages/numpy/numarray/functions.py:45: Cannot find 'copyreg' in package 'numpy.numarray' as absolute import.
Nuitka:WARNING:/usr/lib/python2.7/dist-packages/numpy/distutils/npy_pkg_config.py:11: Cannot find 'configparser' in package 'numpy.distutils' as absolute import.
Nuitka:WARNING:/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1765: Cannot find 'Numeric' in package 'numpy.distutils' as absolute import.
Nuitka:WARNING:/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1770: Cannot find 'numarray' in package 'numpy.distutils' as absolute import.
Nuitka:WARNING:/usr/lib/python2.7/dist-packages/numpy/f2py/diagnose.py:48: Cannot find 'numpy_distutils' in package 'numpy.f2py' as absolute import.
Nuitka:WARNING:/usr/lib/python2.7/dist-packages/numpy/f2py/diagnose.py:87: Cannot find 'numpy_distutils.command.build_flib' in package 'numpy.f2py' as absolute import.
Run Code Online (Sandbox Code Playgroud)

python nuitka

15
推荐指数
1
解决办法
5555
查看次数

Java 8中的接口

J. Bloch在撰写的Effective Java中Java 6提到了以下内容(第17项):

如果您认为必须允许从这样的类继承,一种合理的方法是确保该类永远不会调用其任何可覆盖的方法并记录此事实.换句话说,完全 消除了类对可覆盖方法的自我使用.

第18项:

如果您使用抽象类来定义类型,那么您可以让想要添加功能的程序员别无选择,只能使用继承.结果类比包装类更强大,更脆弱.

虽然不允许接口包含方法实现,但使用接口来定义类型并不会阻止您向程序员提供实现帮助.

现在Java 8使用其默认方法的实现(使用接口中的其他方法)接口对于继承是危险的.

例如:

public inteface MyInterface{

   public void compute(Object o);

   public default void computeAll(List<Object> oo){
         for(Object o: oo)
            compute(o);       //self-use
   }
}
Run Code Online (Sandbox Code Playgroud)

因此,根据J. Bloch的说法,当我们尝试实现接口时,它可能会引入一些问题,因为:

  1. 覆盖这样的方法(类似于J.Bloch提供的):

    public class MyInterfaceCounter implements MyInterface{
    
      private int count = 0;
    
      @Override
      public void compute(Object o) {
        count++;
      }
    
      @Override
      public void computeAll(List<Object> oo){
        count += oo.size();            //Damn!!
        MyInterface.super.computeAll(oo);
      }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 客户端访问接口的内部,即他们必须知道默认实现.

在Java 8中如何处理它?Effective Java的规则是否适用仍然适用?

而且,我们不能将默认方法声明为final(因为我们可以对类进行声明,它会使自用对于重写器来说不太危险).

java inheritance java-8

13
推荐指数
1
解决办法
477
查看次数

EDI 文件数据中可以有 ~ 吗?

我正在解析 EDI 文件并按 ~s 分割。我想知道 EDI 是否可以在数据本身中包含 ~ ?数据中是否有一条规则说“不”?适用于 810/850 等

edi

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

在 iOS 中从气压计获取压力值

我想使用 Swift 获取 iPhone 上气压计的压力值。有人可以告诉我该怎么做吗?我用来CLLocation访问海拔高度。可以用同一个类来进行压力吗?

编辑:

我将以下内容放入我的viewDidLoad()方法中,但它没有打印任何内容...请告知。

let altimeter = CMAltimeter()
    if CMAltimeter.isRelativeAltitudeAvailable() {
        altimeter.startRelativeAltitudeUpdates(to: OperationQueue.current!, withHandler: { data, error in
            if !(error != nil) {
                print("Relative Altitude: \(data?.relativeAltitude)")
                print("Relative Pressure: \(data?.pressure)")
                self.pressLabel.text = String(describing: data?.pressure)
            }
        })
    }
Run Code Online (Sandbox Code Playgroud)

ios swift sensors

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

如何将数组中的每个Int值乘以Swift中的常量?

说,我有一个数组[20, 2, 3]
如何在Swift中乘以此数组的每个Int值?
那么2 x阵列变成了[40, 4, 6],3 x阵列变成了[60, 6, 9]等等?

arrays ios swift

5
推荐指数
1
解决办法
5044
查看次数

在swift中从视频中提取帧

我正试图从Swift中的视频中提取帧作为UIImages.我找到了几个Objective C解决方案,但我在Swift中找不到任何东西.假设以下是正确的,有人可以帮助我将以下内容转换为Swift或者让我自己采取如何做到这一点?

- (UIImage *)imageFromVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {

    // courtesy of memmons
    // http://stackoverflow.com/questions/1518668/grabbing-the-first-frame-of-a-video-from-uiimagepickercontroller

    AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];
    NSParameterAssert(asset);
    AVAssetImageGenerator *assetIG =
    [[AVAssetImageGenerator alloc] initWithAsset:asset];
    assetIG.appliesPreferredTrackTransform = YES;
    assetIG.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;

    CGImageRef thumbnailImageRef = NULL;
    CFTimeInterval thumbnailImageTime = time;
    NSError *igError = nil;
    thumbnailImageRef =
    [assetIG copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60)
                    actualTime:NULL
                         error:&amp;igError];

    if (!thumbnailImageRef)
        NSLog(@"thumbnailImageGenerationError %@", igError );

    UIImage *image = thumbnailImageRef
    ? [[UIImage alloc] initWithCGImage:thumbnailImageRef]
    : nil;

    return image;
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios swift

5
推荐指数
2
解决办法
3305
查看次数

编写文本文件如何强制ANSI格式C#

使用以下命令尝试以 ANSI 格式写入文本文件,但打开时仍显示 UTF-8。ANSI格式怎么写?这是在 Windows 10 上。在记事本++或记事本右下角,当我打开不同的文本文件时,它会显示 ANSI 或 UTF-8。我的程序生成的结果是 UTF-8。

\n
private void createHeader()\n        {\n            StringBuilder sb = new StringBuilder();\n            string delimiter = "\xc2\xaa";\n\n            sb.Append(batchNumber);\n            sb.Append(delimiter);\n            sb.Append("Delete PLUs");\n            sb.Append(delimiter);\n\n            string today = DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt");\n            //Console.WriteLine(today);\n            sb.Append(today);\n\n            for (int i =0; i < 15; i++)\n            {\n                sb.Append(delimiter);\n            }\n\n            sb.Append(Environment.NewLine);\n\n            Console.WriteLine(sb.ToString());\n\n            System.IO.StreamWriter objWriter;\n            objWriter = new System.IO.StreamWriter(new FileStream(pathToFile, FileMode.OpenOrCreate), Encoding.ASCII);\n            objWriter.WriteLine(sb.ToString());\n            objWriter.Close();\n            //System.IO.File.WriteAllText(pathToFile, sb.ToString(), Encoding.ASCII); // Erases current file and overwrite\n\n            //return sb.ToString();\n        }\n
Run Code Online (Sandbox Code Playgroud)\n

c# text character-encoding

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