小编zen*_*poy的帖子

opencv/javacv:如何迭代轮廓以进行形状识别?

我正在使用JavaCV开发一个形状识别项目,我发现了一些OpenCV代码来识别特定图像中的U形状.我试图将其转换为JavaCV,但它没有提供相同的输出.你能帮我把这个OpenCV代码转换成JavaCV吗?

这是OpenCV代码:

import cv2
import numpy as np

img = cv2.imread('sofud.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(gray,127,255,1)
contours,hierarchy = cv2.findContours(thresh,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)

for cnt in contours:
    x,y,w,h = cv2.boundingRect(cnt)
    if 10 < w/float(h) or w/float(h) < 0.1:
        cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)

cv2.imshow('res',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

这是预期的产出

在此输入图像描述

这是转换后的代码:

import com.googlecode.javacpp.Loader;
import com.googlecode.javacv.CanvasFrame;
import static com.googlecode.javacpp.Loader.*;
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import java.io.File;
import javax.swing.JFileChooser;

public class TestBeam {
    public static void main(String[] args) {
        CvMemStorage storage=CvMemStorage.create();
        CvSeq squares = new CvContour();
        squares = …
Run Code Online (Sandbox Code Playgroud)

java opencv image-processing javacv

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

尝试在win7上使用C++,Task Scheduler 1.0创建一次计划任务

我正在尝试创建一个非常简单的程序,它将在两分钟后运行记事本(这些都被简化为更清晰的问题).我试图合并一些MSDN的例子,令我惊讶的是一切编译成功,在运行程序时.job创建了一个任务C:\Windows\Tasks.我没有在"任务计划程序"GUI程序中看到新任务,我认为这是因为"任务计划程序"仅显示任务计划程序2.0任务,但我不确定.问题是任务没有被执行.我附加了代码,它有点长,但记录良好.

有人可以帮忙解决这个问题吗?如果一个任务在运行时遇到错误,它会记录在哪里?

注1:我知道我计算开始时间的方式并不理想(并且会在分钟的时间内给出错误的结果>57).正如我之前所说,下面的代码是一个简化版本.

注意2:我在win7上运行它,我认为它与Task Scheduler 1.0 API兼容.这段代码应该在XP和win7机器上运行(希望将来在win 8上运行)

注3:对于任何勇于尝试的人来说,如果你收到错误,0x80070050就意味着已经存在具有该名称的任务,删除.job文件或更改名称.

#include <windows.h>
#include <initguid.h>
#include <ole2.h>
#include <mstask.h>
#include <msterr.h>
#include <objidl.h>
#include <wchar.h>
#include <stdio.h>


int main(int argc, char **argv)
{
  HRESULT hr = S_OK;
  ITaskScheduler *pITS;


  /////////////////////////////////////////////////////////////////
  // Call CoInitialize to initialize the COM library and then 
  // call CoCreateInstance to get the Task Scheduler object. 
  /////////////////////////////////////////////////////////////////
  hr = CoInitialize(NULL);
  if (SUCCEEDED(hr))
  {
     hr = CoCreateInstance(CLSID_CTaskScheduler,
                           NULL, …
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi scheduled-tasks

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

为什么Microsoft有IHTMLDocument,IHTMLDocument2,...,IHTMLDocument8?

接口名称末尾的数字是什么意思?我看到IHTMLDocument3-7没有成员(参见#5的示例),并且8有与手势相关的成员.该数字是从Windows版本派生的吗?

c++ internet-explorer mshtml

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

如何在heroku雪松上安装scikit-learn?

我使用答案中描述的方法成功安装了numpy和scipy .然后我想添加scikit-learn所以首先我尝试添加scikit-learn==0.11到requirements.txt,当推送到heroku时,我收到一条错误消息:

ImportError: liblapack.so.3gf: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以我已添加到LD_LIBRARY_PATH我所拥有的路径,liblapack.so.3gf但后来我得到了这个:

ImportError: libgfortran.so.3: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我相信heroku没有fortran编译器,但也许我错了.我该如何解决这个问题?

python heroku scikit-learn

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

使 C 程序更小

我有一个非常小的 C 程序,可以反转文件。它在 Windows 上编译为exe大小为 28,672 字节的文件。

  • 减少文件大小的最佳方法是什么?
  • 有没有什么工具可以告诉我什么占用了最多的空间?(包含库)
  • 对于这么简单的程序来说这个大小正常吗?
  • 我应该使用什么编译器标志来减少文件大小(/O1并且/Os似乎没有任何效果)?

顺便说一句 - 当我编译时,gcc我得到大约 50Kb 文件,当我编译时,cl我得到 28Kb。

编辑:这是代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
   FILE *fi, *fo;

   char *file1, file2[1024];
   long i, length;
   int ch;

   file1 = argv[1];

   file2[0] = 0;
   strcat(file2, file1);
   strcat(file2, ".out");

   fo = fopen(file2,"wb");
   if( fo == NULL )
   {
      perror(file2);
      exit(EXIT_FAILURE);
   }

   fi = fopen(file1,"rb");
   if( fi == NULL …
Run Code Online (Sandbox Code Playgroud)

c

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

如何在Python中创建shell扩展上下文菜单(如dropbox)

我想创建一个上下文菜单shell扩展,以配合我用Python编写的程序.

我试图用在工作演示\Lib\site-packages\win32comext\shell\demos\servers\context_menu.pypywin32(这里是文件),但它并没有对我的X64 Win7的工作:它注册好了,并添加注册表项,但在上下文菜单中没有出现(即使经过重启).所以我搜索了一些,并记住Dropbox说只使用Python进行开发,我查看了它们的上下文菜单注册表项.我发现他们使用:DropboxExt64.15.dll在他们中InProcServer32(虽然我已经阅读过这个和其他一些资源,但我对shell扩展还不太了解).因此看起来他们将ac/c ++代码编译为dll并使用它来调用python代码.

我的问题是他们是怎么做到的?我在哪里可以找到有关如何使用此方法的资源(示例,指南等)?使用该方法有哪些缺陷context_menu.py

python windows-shell win32com

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

如何查找未知整数类型的最大值

如何找到未知类型的最大整数值?有没有比这更有效的东西:

template<class T>
T test(T i) {
    if (((T)-1) > 0)
       return -1;
    T max_neg = ~(1 << ((sizeof(T)*8)-1));
    T all_ones = -1;
    T max_pos = all_ones & max_neg;
    return max_pos;
}
Run Code Online (Sandbox Code Playgroud)

c++

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

Python ArgumentParser嵌套参数

我想用以下签名创建参数解析器:

./myapp [-a [-b BVAL] | -c]

换句话说,用户-b BVAL只有在提供参数的情况下才能提供参数-a.

这是很容易地创建互斥组-a-c,但我无法弄清楚如何建立关系allow -b only if -a provided

python argparse

4
推荐指数
1
解决办法
2236
查看次数

Visual C++:接口的ATL实现

我想这是一个非常愚蠢的问题,但我找不到答案.我正在尝试使用ATL实现COM接口.根据这个我应该使用实现接口向导.我的问题是如何在此向导中找到所需的界面.我是否必须浏览所有图书馆?是否在接口文档中的某处指定(IOleCommandTarget)

com atl visual-c++

4
推荐指数
1
解决办法
1074
查看次数

转换为标准的svn目录布局标签/ branches/trunk

我们正在与SVN合作开展一个项目.我的同事已经通过将一个简单的目录"EX1"放入存储库的根目录来启动该项目,因此没有目录tags/branches/trunk.

我想将此目录的内容移动到主干中,然后从中创建一个标记.

我必须执行哪些命令?

svn

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