小编1''*_*1''的帖子

动态跳转到C中的标签

我想显示输出 - 数字1到5,然后是无限的4-5.有什么方法可以传递i(4)的值而不是goto1中的字符i.或者是否有任何其他有效的方法来实现这一点,而没有说明开关中的所有选项(即案例1:goto1(c1)等...).

主要目的是跳转到在程序中计算其标签的语句.

#define goto1(i) \
goto c##i

int main(){    
    c1 : printf(" num is 1 \n");
    c2 : printf(" num is 2 \n");
    c3 : printf(" num is 3 \n");
    c4 : printf(" num is 4 \n");
    c5 : printf(" num is 5 \n");

    int i=4;
    goto1(i);
}
Run Code Online (Sandbox Code Playgroud)

c

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

正确定位原始相机数据

我的相机应用程序onPreviewFrame()使用OpenCV 处理原始相机帧,然后在屏幕上显示它们.但是,原始帧的方向与摄像机安装在手机上的方式相同,通常不是正面朝上.为了解决这个问题,我使用OpenCV手动旋转它们,这非常耗时.

我已经研究过使用setDisplayOrientation,但文档说明了这一点

这不会影响onPreviewFrame中传递的字节数组的顺序

我需要数据实际上正面朝上的,而不仅仅是正面显示.如何正确定位原始相机数据?如果这是不可能的,我可以有效地旋转传递给我的字节数组onPreviewFrame(),比如说使用OpenGL吗?

android android-camera

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

我需要关闭插座吗?

在使用Winsock通过套接字发送数据后,您应该关闭连接,如下所示:

closesocket(ConnectSocket);
WSACleanup();
Run Code Online (Sandbox Code Playgroud)

我正在编写一个通过套接字发送数据的API.如果我之后必须关闭套接字,我需要向API添加一个函数,以便用户可以说明他们何时完成数据获取.如果我不关闭插座,是否有问题?

sockets tcp winsock

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

Javascript - 有效地插入多个HTML元素

我想创建一个select包含用户Facebook好友列表的元素(作为JSON对象获取).我硬编码<select id="friends"></select>到我的HTML,然后使用下面的JavaScript代码来解析JSON并插入每个朋友作为option该的select元素:

var msgContainer = document.createDocumentFragment();
for (var i = 0; i < response.data.length; i++) { 
    msgContainer.appendChild(document.createTextNode('<option value="'+response.data[i].id+'">'+response.data[i].name+'</option>'));    
}
document.getElementById("friends").appendChild(msgContainer);
Run Code Online (Sandbox Code Playgroud)

这几乎可以工作,除了它插入&lt;&gt;不是<>.我该如何解决它,是否有更有效的方法使用纯Javascript(而不是JQuery)插入多个HTML元素?

html javascript getelementbyid appendchild

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

在Visual Studio的Python工具中调试GAE

我可以使用Python工具for Visual Studio 2012 运行我的Google App Engine webapp2应用程序,无需遵循本教程,甚至单步执行服务器初始化代码,但是我无法在获取或发布方法时使用它来解决问题.网站已加载,类似于此视频中显示的main()方法.当我暂停调试器时,它总是在wsgi_server.py中的以下无限循环中结束:

def _loop_forever(self):
  while True:
  self._select()

def _select(self):
  with self._lock:
    fds = self._file_descriptors
    fd_to_callback = self._file_descriptor_to_callback
if fds:
  if _HAS_POLL:
    # With 100 file descriptors, it is approximately 5x slower to
    # recreate and reinitialize the Poll object on every call to _select
    # rather reuse one. But the absolute cost of contruction,
    # initialization and calling poll(0) is ~25us so code simplicity
    # …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine visual-studio webapp2 ptvs

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

为什么文本输入有额外的填充?

我正在尝试覆盖文本<input type="text">(用于跨浏览器placeholder支持).我发现我的定位总是偏离几个像素,因为某种填充无法通过设置去除padding: 0;.这里这里的建议并没有解决问题.

您可以在Chrome的以下屏幕截图中看到此填充,作为蓝色突出显示和黄色边框之间的空白区域:

在此输入图像描述

我怎样才能a)删除这个空间; 或b)使用Javascript测量它?

html javascript css input

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

与其他任何数字相比,比零快吗?

if(!test)
Run Code Online (Sandbox Code Playgroud)

比...快

if(test==-1)
Run Code Online (Sandbox Code Playgroud)

我可以生产组装,但是生产了太多的组件,我无法找到我追求的细节.我希望有人知道答案.我猜它们是相同的,除非大多数CPU架构都有某种"比较为零"的捷径.

谢谢你的帮助.

c++ optimization compare zero

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

改善形态学关闭

我正在尝试使用形态学关闭操作使图像均匀亮,作为自适应阈值的前奏.我的方法是在关闭操作后将图像中的每个像素除以该像素的值,然后进行标准化:

Imgproc.GaussianBlur(sudokuImage, sudokuImage, new Size(5,5), 0);
Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_ELLIPSE, new Size(11,11));
Imgproc.morphologyEx(image, closedImage, Imgproc.MORPH_CLOSE, kernel);
Core.divide(image, closedImage, image);
Core.normalize(image, image, 0, 255, Core.NORM_MINMAX);
Run Code Online (Sandbox Code Playgroud)

结果如下:

  • 左上角 - 原始图像
  • 右上角 - 高斯模糊后
  • 左下图 - 结算操作的结果
  • 右下 - 最终结果

在此输入图像描述

我希望最终的图像不那么褪色,更像下面的图像(使用看起来像这篇文章中相同的方法获得).我怎么能做到这一点?

在此输入图像描述

opencv image-processing

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

并行化 std::nth_element 和 std::partition

我正在将使用std::nth_element和的 C++ 代码移植std::partition到 OpenCL。

nth_element是一种选择算法,它将数组中第 n 个最小的数字放在第 n 个位置,并排列剩余元素,使所有小于该数字的元素在数组中位于该数字之前,所有大于该数字的元素位于该数字之后。实际上,nth_element将数组排序为 3 个桶:数字本身、所有小于该数字的数字以及所有大于该数字的数字。

规范地,nth_element是使用递归分区来实现的:选择一个元素,根据元素是否小于该元素来对元素进行分区。然后,选择包含数组第 n 个元素的存储桶并在该存储桶上递归。与完整快速排序之间的主要区别nth_element在于,快速排序在两个存储桶上递归,而不仅仅是包含第 n 个元素的存储桶。


partition是一个较弱的版本,nth_element它仅将数组分为 2 个桶:条件为 true 的桶和条件为 false 的桶。我链接到的网站给出了实现:

while (first!=last) {
    while (pred(*first)) {
        ++first;
        if (first==last) return first;
    }
    do {
        --last;
        if (first==last) return first;
    } while (!pred(*last));
    swap (*first,*last);
    ++first;
}
return first;
Run Code Online (Sandbox Code Playgroud)

其中 pred 是一个函数,用于评估某个元素是否应该位于第一个存储桶中。基本上,这个函数迭代地找到数组中位于错误位置的最外层元素对,并交换它们,当这对元素是相同元素时停止。


以下是我对并行化nth_element和的初步想法partition

分区可以使用原子比较和交换来实现,但我不确定如何覆盖所有可能交换的值对。没有明显的方法可以在多个线程之间划分工作,因为分区需要比较可能彼此相邻或位于数组两端的元素。我也没有找到一种方法来避免线程 B 与已被线程 A 交换的元素进行比较,这是低效的。 …

c++ sorting algorithm parallel-processing opencl

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

为什么np.where的结果只读多维数组?

>>> a = np.where(np.ones(5))[0]
>>> a
array([0, 1, 2, 3, 4])
>>> a.flags['WRITEABLE']
True

>>> b = np.where(np.ones((5,2)))[0]
>>> b
array([0, 0, 1, 1, 2, 2, 3, 3, 4, 4])
>>> b.flags['WRITEABLE']
False
Run Code Online (Sandbox Code Playgroud)

为什么b只读而a不是?文档中未提及此内容.

python numpy

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