小编hak*_*ami的帖子

如何在python中使用opencv来拉直图像的旋转矩形区域?

下图将告诉你我想要什么.

我有图像中的矩形信息,宽度,高度,中心点和旋转度.现在,我想编写一个脚本来剪切它们并将它们保存为图像,但要理顺它们.因为我想从图像内部显示的矩形转到外面显示的矩形.

我正在使用OpenCV python,告诉我一种方法来实现这一目标.

显示一些代码作为OpenCV Python的例子很难找到.

示例图像

python opencv image-processing

27
推荐指数
4
解决办法
2万
查看次数

如何使用Pycharm来调试python脚本?

我正在尝试使用pycharm.我可以编写代码并运行它.但是,我不知道如何调试代码.当我单击调试按钮时,我得到类似于下图的内容:

在此输入图像描述

在pycharm中调试需要特殊配置吗?这是我的配置:

在此输入图像描述

python debugging pycharm

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

如何在独立模式下更轻松地将Jar部署到Spark Cluster?

我有一个包含3台机器的小型集群,以及另一台用于开发和测试的机器.在开发时,我设置SparkContextlocal.当一切正常时,我想将我构建的Jar文件部署到每个节点.基本上我手动将此jar移动到群集并复制到群集共享的HDFS.然后我可以将代码更改为:

//standalone mode
val sc = new SparkContext(
     "spark://mymaster:7077", 
     "Simple App", 
     "/opt/spark-0.9.1-bin-cdh4",   //spark home
     List("hdfs://namenode:8020/runnableJars/SimplyApp.jar") //jar location
) 
Run Code Online (Sandbox Code Playgroud)

在我的IDE中运行它.我的问题:有没有办法更容易将此jar移动到群集?

jar apache-spark

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

git commit和git commit-tree有什么区别

我正在阅读git对象:blob,tree,commit,tag.为了更好地理解git是如何工作的,我尝试了一些低级命令,比如write-treecommit-tree.

  1. mkdir test; cd test - > git init
  2. 我创建了一个文件git add file.我可以看到生成blob和树对象.git/objects
  3. git write-tree 打印当前的treeID
  4. git commit-tree treeID -m "commit a tree"提交这棵树.在此操作之后,生成一个提交对象,我可以看到它确实包含作者,日期等.但是,我无法检查我的提交使用git log,错误是:fatal: bad default revision 'HEAD'.

经过上面的操作,当我运行时git status,我看到文件仍然在索引中等待提交.什么是和'commit' commit-tree之间有什么区别commit-tree

git commit

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

CLion 调试:lldb 附加到进程,断点为灰色,表示没有可执行文件

我正在尝试调试tensorflow项目,该项目使用SWIG技术将c++实现与python前端包装在一起。我想调试C++部分。这是我所做的:

  1. 在终端($pid)中启动tensorflow python脚本
  2. 直接使用lldb -p $pid效果很好,我可以设置断点等。
  3. 但我想使用 CLion 调试 GUI,所以我单击Clion->Run->Attach to Process,找到 $pid 作为本机进程。
  4. CLion 成功附加到 $pid,但是,我在 Clion 中设置的每个断点都是灰色的,不会被命中。但如果我在嵌入式 lldb 控制台中设置断点,它就会起作用(断点命中并在 Clion 代码文件中突出显示)。

CLion 断点上的错误消息是:

当前不会命中断点。没有可执行代码与该行关联。

P1: 在此输入图像描述 P2: 在此输入图像描述

如何解决这个问题,以便我可以在 Clion 而不是 lldb 命令中设置断点?

额外的信息:

  • tensroflow使用bazel来构建。我不使用 Clion 来构建。只是编辑/浏览/调试。CLion 有一个 bazel 插件,但绑定到特定的 bazel 版本,对我来说不行。
  • CLion 版本 2.19.2

debugging lldb clion

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

如何使用Cuda tex2D访问像素的每个通道

我正在学习cuda纹理记忆。现在,我得到了一个opencv Iplimage,并且得到了它的图像数据。然后,将纹理绑定到此uchar数组,如下所示:

Iplimage *image = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);
unsigned char* imageDataArray = (unsigned char*)image->imagedata;

texture<unsigned char,2,cudaReadModeElementType> tex;
cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc(8, 8, 8, 0, 
                                                          cudaChannelFormatKindUnsigned); 
cudaArray *cuArray = NULL;
CudaSafeCall(cudaMallocArray(&cuArray,&channelDesc,width,height));

cudaMemcpy2DToArray(cuArray,0,0,imageDataArray,image->widthstep,
    width * sizeof(unsigned char), height, cudaMemcpyHostToDevice);
cudaBindTextureToArray(texC1_cf,cuArray_currentFrame, channelDesc);
Run Code Online (Sandbox Code Playgroud)

现在,我启动内核,并希望访问该图像的每个像素,每个通道。这就是我感到困惑的地方。

我使用以下代码获取像素坐标(X,Y):

int X = (blockIdx.x*blockDim.x+threadIdx.x);
int Y = (blockIdx.y*blockDim.y+threadIdx.y);
Run Code Online (Sandbox Code Playgroud)

以及如何访问此(X,Y)的每个通道?return下面的代码是什么?

tex2D(tex, X, Y);
Run Code Online (Sandbox Code Playgroud)

除此之外,您能告诉我如何使用纹理访问数组的纹理内存以及此变换的外观吗?

在此处输入图片说明

opencv textures cuda

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

Python3.2无法识别解释器中的UP/DOWN/LEFT/RIGHT键?

我使用的是ubuntu,linux内核2.6.38.我通常使用python2,今天,我决定尝试使用Python3.我make install按照README 下载python3和它.但是,python 3.2解释器无法识别UP/SOWN/LEFT/RIGHT密钥,这些密钥在我的python 2.7解释器中可用.我做错了什么?

在此输入图像描述

另一个问题是,如果我同时拥有python2.7和python3.2,我可以选择iPython使用的python版本吗?

最好的祝福.

python ipython python-3.x

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

为什么我的Datepicker看起来如此受欢迎?

我正在尝试使用jquery UI.我下载了所有内容并按照说明操作,我在我的html中添加了这样的代码:

<link type="text/css" href="/css/ui-lightness/jquery-ui-1.8.20.custom.css" rel="stylesheet" />
<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/js/jquery-ui-1.8.20.custom.min.js"></script>
<script type="text/javascript">
     $(function() {
         $( "#id_myDate" ).datepicker({
             inline: true
         });
     });
</script>
.....
<div>Date: <input type="text" id="id_myDate" name="deadLine"></div>
Run Code Online (Sandbox Code Playgroud)

当我加载此页面时,Datepicker看起来如此受欢迎.

在此输入图像描述

怎么了?当我下载jquery UI时,我打开index.html,一切正常(包括datepicker),但当我把它放入我的应用程序时,它看起来很糟糕.

BTW.我的浏览器是Chrome(我也在firefox中测试,同样的问题),我正在使用python中的google appengine应用程序.

谢谢.

------------------------ 编辑 ------------------------- -

对不起.因为这是一个google appengine,所以我应该配置我的静态文件,例如js和css.我忘了在app.yaml中配置我的css文件.现在,我在yaml文件中添加:

- url: /js
static_dir: js

- url: /css
static_dir: css
Run Code Online (Sandbox Code Playgroud)

js和css是这些文件所在的dir的名称.非常感谢你.

jquery google-app-engine jquery-ui

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

如何在模板类中重载较少的运算符以进行排序算法的使用?

我有一个使用模板的自定义类,如下所示:

template<class T>
class foo 
{
    public:
    T a;
    bool operator<(const foo<T> &f);
    //other functions...
}

template<class T>
bool foo<T>::operator<(const foo<T> &f)
{return a - f.a;}
Run Code Online (Sandbox Code Playgroud)

现在,我新建了一些foos并给它们值,然后我想对这个数组进行排序:

foo<int>* fp = new foo<int>[3];
//give each element value
sort(fp, fp+3); //run-time error
Run Code Online (Sandbox Code Playgroud)

当我使用sort函数时,我遇到了运行时错误.

我做错什么了吗?请帮我.

c++ sorting templates stl

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

如何从Hadoop序列文件中提取数据?

Hadoop序列文件真的很奇怪.我将图像打包成序列文件,无法恢复图像.我做了一些简单的测试.我发现在使用序列文件之前和之后字节的大小甚至不相同.

Configuration confHadoop = new Configuration();
        FileSystem fs = FileSystem.get(confHadoop);

        String fileName = args[0];
        Path file = new Path(fs.getUri().toString() + "/" + fileName);
        Path seqFile = new Path("/temp.seq");
        SequenceFile.Writer writer = null;
        FSDataInputStream in = null;
        try{
            writer = SequenceFile.createWriter(confHadoop,Writer.file(seqFile), Writer.keyClass(Text.class),
                    Writer.valueClass(BytesWritable.class));

            in = fs.open(file);
            byte buffer[] = IOUtils.toByteArray(in);


            System.out.println("original size ---->  " + String.valueOf(buffer.length));
            writer.append(new Text(fileName), new BytesWritable(buffer));
            System.out.println(calculateMd5(buffer));
            writer.close();

        }finally{
            IOUtils.closeQuietly(in);
        }

        SequenceFile.Reader reader = new SequenceFile.Reader(confHadoop, Reader.file(seqFile));

        Text key = new Text();
        BytesWritable val = new BytesWritable(); …
Run Code Online (Sandbox Code Playgroud)

compression hadoop bytearray sequencefile

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