小编nbu*_*urk的帖子

如何在OpenCV / C ++中为Mat对象创建圆形蒙版?

我的目标是在一个Mat对象上创建一个圆形的蒙版,例如Mat

0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

...修改它使得我获得“圆形”1内它S,SO .eg

0 0 0 0 0 
0 0 1 0 0 
0 1 1 1 0
0 0 1 0 0
0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

我目前正在使用以下代码:

typedef struct {
    double radius;
    Point center;
} Circle;

...

for (Circle c : circles) {

    // get …
Run Code Online (Sandbox Code Playgroud)

c++ opencv mat

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

删除代码后触发本地通知

我面临着一个奇怪的问题UILocalNotifiation.我每晚11点59分安排当地通知.现在,我已从我的项目中删除了该代码,但我仍然每晚11点59分收到本地通知.我试图从设备中删除构建,更改设备和清理派生数据.

ios uilocalnotification

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

如何在C++中使用自定义排序成员函数的sort()?

我有一个关于将比较函数传递给的问题sort().

我想要做的是定义一个sort()函数,该函数在计算时考虑了我想要进行排序的类的成员变量.

基本上,我的代码看起来像这样(简化为只显示相关部分):

MappingTechnique.h

struct MappingTechnique {
    vector<int> usedIndexCount; 
};

struct SimpleGreedyMappingTechnique : MappingTechnique {
    bool sortByWeights(int index1, int index2);
};
Run Code Online (Sandbox Code Playgroud)

MappingTechnique.m

bool SimpleGreedyMappingTechnique::sortByWeights(int index1, int index2) {
    return usedIndexCount[index1] > usedIndexCount[index2];
}

void SimpleGreedyMappingTechnique::processFrame(Frame frame) {
    vector<int> payloadIndices = <generate the vector>

    // sort the payload indices according to their current usedIndexCount
    sort(payloadIndices.begin(), payloadIndices.end(), sortByWeights);
}
Run Code Online (Sandbox Code Playgroud)

此代码无法编译,它会出现以下错误:

 error: reference to non-static member function must be called
Run Code Online (Sandbox Code Playgroud)

并指出sortByWeights.

甚至可以使用类的成员函数进行排序吗?如果是,我该如何实现呢?

c++ sorting functor

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

通过无服务器框架部署到 AWS Lambda 时,将文件打包到应用程序包的特定文件夹中

语境

\n

我正在使用无服务器框架aws-node-typescript的示例。我的目标是将Prisma集成到其中。

\n

到目前为止,我有:

\n
    \n
  1. 使用本地创建项目serverless create
  2. \n
  3. 在 Railway 上设置 PostgreSQL 数据库
  4. \n
  5. 安装prisma、运行prisma init、创建基本模型并成功User运行prisma migrate dev
  6. \n
  7. users通过复制现有hello函数创建第二个函数
  8. \n
  9. 使用部署该功能serverless deploy
  10. \n
  11. 现在在我的函数中,当我实例化 时PrismaClient,我收到内部服务器错误,并且该函数记录此错误:"ENOENT: no such file or directory, open \'/var/task/src/functions/users/schema.prisma\'"
  12. \n
\n

我的项目结构如下:

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package-lock.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 prisma\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 migrations\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 20221006113352_init\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 migration.sql\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 migration_lock.toml\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 schema.prisma\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 serverless.ts\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82 …
Run Code Online (Sandbox Code Playgroud)

aws-lambda serverless-framework serverless prisma

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

在 LAN 中广播 UDP 消息以检测 IP 摄像机

我正在尝试为我的 iPhone 构建一个小程序,它允许检测本地网络上的设备(尤其是 IP 摄像机)。我知道其中一些支持协议,例如 UPnP,我也一直在研究它,但我现在想完全自己实现 iPhone 和相机之间的通信,而不依赖于库。

我的方法是将广播消息发送到本地网络并解析收到的响应。例如,为了检测本地网络上的 UPnP 设备,广播的消息需要具有以下内容:

M-SEARCH * HTTP/1.1\r\nHOST:255.255.255.255:1900\r\nMAN:\"ssdp:discover\"\r\nST:ssdp:all\r\nMX:1\r\n\r\n
Run Code Online (Sandbox Code Playgroud)

我对 C 语言的网络编程有点熟悉,所以我想用 C 语言编写通信代码,并稍后集成到我的 Objective-C 中。

我目前正在做以下事情:

// Create socket
int sd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);

// Enable broadcast messaging
int broadcastEnable = 1;
int ret = setsockopt(sd, SOL_SOCKET, SO_BROADCAST, &broadcastEnable, sizeof(broadcastEnable));

// Configure the port and ip we want to send to
struct sockaddr_in broadcastAddr; // Make an endpoint
memset(&broadcastAddr, 0, sizeof broadcastAddr);
broadcastAddr.sin_family = AF_INET;
inet_pton(AF_INET, "255.255.255.255", &broadcastAddr.sin_addr); // Set the broadcast IP …
Run Code Online (Sandbox Code Playgroud)

networking ios

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

Java Generics编译错误:不兼容的类型:项目#1无法转换为Item#2

我正在构建我自己的集合类,Iterable用Java 实现接口.但是,我收到编译错误说:

Nikolass-MacBook-Pro:week2 nburk$ javac Deque.java 

Deque.java:115: error: incompatible types: Item#1 cannot be converted to Item#2
         Item currentItem = current.item;
                                   ^
  where Item#1,Item#2 are type-variables:
    Item#1 extends Object declared in class Deque
    Item#2 extends Object declared in class Deque.DequeIterator
1 error
Run Code Online (Sandbox Code Playgroud)

以下是我的代码的相关部分:

public class Deque<Item> implements Iterable<Item>  {

   // return an iterator over items in order from front to end
   public Iterator<Item> iterator() {
      return new DequeIterator<Item>();
   }

   private class DequeIterator<Item> implements Iterator<Item> {

      public DequeIterator() …
Run Code Online (Sandbox Code Playgroud)

java generics collections iterator iterable

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

当两个(!)实际生成一个新线程时,在新线程上调用run()和start()之间的区别究竟是什么?

所以,这个问题在之前(这里这里)得到了回答,答案对我来说完全有意义:

run()只调用对象的run()方法Thread,但不产生新的线程.因此,run()方法中的代码实际上是在调用它的同一个线程上执行的. start()另一方面,将线程实例移交给调度程序并调用run()它,因此它生成一个新线程,在该线程run()执行方法的代码.

但是,我正在努力真正理解这是什么意思,所以我开发了一个案例来验证语句:

public class Test extends Thread{

    public void run() {
        System.out.println("run() called on thread: " + getName());
    }

    public static void main(String[] args) throws Exception {
        System.out.println("main() called on thread: " + Thread.currentThread().getName());
        Test t = new Test();
        t.start(); // OR t.run();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,如果上面的描述是真的,那么程序的输出应该是如果我t.run()用来执行print语句,那么线程的名称应该是相同的,因为不应该创建新的线程并且t它只是在与它相同的线程上运行是创建于.另一方面,t.start()实际上应该给我两个不同的线程名称.

但是,在这两种情况下我都得到输出:

main() …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading runnable

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

使用carthage集成ReactiveCocoa失败

我正在尝试创建一个新的iOS/Swift项目并使用carthage集成ReactiveCocoa.

我正在运行Xcode 7.1.1.

我的cartfile只有一行:

github "ReactiveCocoa/ReactiveCocoa"
Run Code Online (Sandbox Code Playgroud)

运行时carthage update,我收到以下构建错误:

以下构建命令失败:

CompileSwift normal x86_64 Users/nburk/Developer/RxTicTacToe/Carthage/Checkouts/Result/Carthage/Checkouts/Box/Box/Box.swift

CompileSwift normal x86_64 /Users/nburk/Developer/RxTicTacToe/Carthage/Checkouts/Result/Carthage/Checkouts/Box/Box/MutableBox.swift

CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler

(3次失败)

然后更多信息:

/Users/nburk/Developer/RxTicTacToe/Carthage/Checkouts/Result/Carthage/Checkouts/Box/Box/Box.swift:6:37:错误:'Printable'已重命名为'CustomStringConvertible'

/Users/nburk/Developer/RxTicTacToe/Carthage/Checkouts/Result/Carthage/Checkouts/Box/Box/Box.swift:31:10:错误:'toString'已重命名为'String'

/Users/nburk/Developer/RxTicTacToe/Carthage/Checkouts/Result/Carthage/Checkouts/Box/Box/MutableBox.swift:8:51:错误:'Printable'已重命名为'CustomStringConvertible'

/Users/nburk/Developer/RxTicTacToe/Carthage/Checkouts/Result/Carthage/Checkouts/Box/Box/MutableBox.swift:25:10:错误:'toString'已重命名为'String'shell任务失败,退出代码65:**建筑失败**

有谁知道如何解决这一问题?

ios reactive-cocoa swift carthage

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

使用Autolayout以编程方式居中UIView使视图从superview中消失

我有以下代码,只需AutoLayout在我ViewController的编程中使用约束来简单地将红色正方形居中view:

class ViewController: UIViewController {

    let square: UIView

    required init?(coder aDecoder: NSCoder) {
        let squareFrame = CGRectMake(0.0, 0.0, 500.0, 500.0)
        self.square = UIView(frame: squareFrame)

        super.init(coder: aDecoder)
    }

    override func viewDidLoad() {
        self.view.addSubview(self.square)
        self.square.backgroundColor = UIColor.redColor()
        self.view.backgroundColor = UIColor.blueColor()
        print(self.square)
        setupConstraints()
        print(self.square)
    }


    func setupConstraints() {
        self.square.translatesAutoresizingMaskIntoConstraints = false

        NSLayoutConstraint(item: self.view, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal,
            toItem: self.square, attribute: NSLayoutAttribute.CenterX, multiplier: 1, constant:0).active = true
        NSLayoutConstraint(item: self.view, attribute: NSLayoutAttribute.CenterY, relatedBy: NSLayoutRelation.Equal,
            toItem: self.square, attribute: NSLayoutAttribute.CenterY, multiplier: …
Run Code Online (Sandbox Code Playgroud)

ios autolayout swift ios-autolayout

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

如何将信号阵列合并为单个Signal ReactiveCocoa 4

在我的设置中,我有一个GridView由许多GridViewCells 组成的.每个细胞都有一个UITapGestureRecognizer.

为方便起见,它GridView具有以下函数func cellsTapGestureRecognizers() -> [UITapGestureRecognizer?] ,该函数 返回其UITapGestureRecognizer所有单元格的s(如果存在).

UIViewController使用中GridView,我的目标是将水龙头视为Signals.我设法做到这一点,但有限制,我Signal为每个创建一个GridViewCell似乎不必要的.

func createTapSignals() -> [Signal<Position, NoError>?] {
    var signals: [Signal<Position, NoError>] = []
    for maybeTap in self.gridView.cellsTapGestureRecognizers() {
        if let tap = maybeTap {
            let signal = tap.gestureSignalView()
                .map { $0 as! GridViewCell }
                .map {$0.position}
            signals.append(signal)
        }
    }
    return signals
}
Run Code Online (Sandbox Code Playgroud)

是否有可能合并所有创建的信号,createTapSignals()最终只剩下一个类型的信号Signal<Position, NoError>

我查看了文档,但只找到了如何 …

ios reactive-cocoa swift

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