小编bea*_*ker的帖子

std::is_polymorphic 如何识别多态性?

我试图理解 C++ 中的工作原理std::is_polymorphc。这是定义在type_traits.h

template <class _Ty>
struct is_polymorphic : bool_constant<__is_polymorphic(_Ty)> {}; // determine whether _Ty is a polymorphic type

template <class _Ty>
_INLINE_VAR constexpr bool is_polymorphic_v = __is_polymorphic(_Ty);
Run Code Online (Sandbox Code Playgroud)

我无法找到 的源代码__is_polymorphic。有人可以帮助我了解如何__is_polymorphic工作吗?

c++ std

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

CV2.imread() 的内存使用问题

I have built a faster r-cnn model and am in the process of labeling images with a bunch of bounding boxes. My issue is that the python kernel eventually crashes while labeling the first ~3000 out of 70,000 images. I have narrowed down the issue to image = cv2.imread().Regardless of using del image or image = None, the excessive memory usage persists. Is there a none memory leak issue with the CV2 library? I am using version 3.3. Is there …

python opencv

5
推荐指数
0
解决办法
1913
查看次数

使用 OpenCV 在 Python 中最小过滤器

我正在尝试使用 OpenCV 库将最小过滤器应用于某些图像。如何使用 OpenCV 在 Python 中实现最小过滤器?有什么功能可以做到这一点吗?如果没有的话我该如何写呢?

python opencv filtering image image-processing

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

以不同的名称循环保存图像

我在循环保存裁剪的图像时遇到问题。我的代码:

def run(self, image_file):
    print(image_file)
    cap = cv2.VideoCapture(image_file)
    while(cap.isOpened()):
        ret, frame = cap.read()
        if ret == True:
            img = frame
            min_h = int(max(img.shape[0] / self.min_height_dec, self.min_height_thresh))
            min_w = int(max(img.shape[1] / self.min_width_dec, self.min_width_thresh))
            gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
            faces = self.face_cascade.detectMultiScale(gray, 1.3, minNeighbors=5, minSize=(min_h, min_w))

            images = []
            for i, (x, y, w, h) in enumerate(faces):
                images.append(self.sub_image('%s/%s-%d.jpg' % (self.tgtdir, self.basename, i + 1), img, x, y, w, h))
            print('%d faces detected' % len(images))

            for (x, y, w, h) in faces: 
                self.draw_rect(img, x, …
Run Code Online (Sandbox Code Playgroud)

python opencv

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

fscanf函数的奇怪行为

我试图用Matlab的fscanf函数读取一个小配置文件中包含的信息.文件的内容是;

YAcex: 1.000000
YOx: 1.000000
KAce: 1.000000
Run Code Online (Sandbox Code Playgroud)

用于解析文件的matlab代码是;

fh = fopen('parameters', 'r');
fscanf(fh, 'YAcex: %f\n')
fscanf(fh, 'YOx: %f\n')
fscanf(fh, 'KAce: %f\n')
fclose(fh);
Run Code Online (Sandbox Code Playgroud)

调用此脚本时,只能正确读取"YAcex"行; fscanf返回[]另外两行.如果切换YOx和KAce线(在YOx之前KAce),fscanf将正确读取所有线.

有人可以解释这种行为吗?

补充信息:输入文件中的换行符是简单的换行符(\n字符,没有\ r \n字符).

matlab scanf

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

O(NlogN)算法运行速度比O(n)快......等等,什么?

说实话,我有点困惑.我正在研究经典算法问题之一.给定一个整数集合,找出是否有2个元素相加给定的数字.

所以我实施了2个解决方案.

bool find1(std::vector<int>& V, int sum) 
{
    std::unordered_set<int> hashTable;
    for (int i = 0; i < V.size(); ++i) 
    {
        if (hashTable.find(V[i]) != hashTable.end()) 
        {
            return true;
        }
        hashTable.insert(sum - V[i]);
    }
    return false;
}

bool find2(std::vector<int>& V, int sum) 
{
    for (int i = 0; i < V.size() ; ++i) 
    {
        if (std::binary_search(V.begin(), V.end(), sum - V[i])) 
        {
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

Find1应该是一个线性算法(取决于桶的负载和散列函数的效率).

Find2应该是NlogN,我们循环并对每次迭代进行二进制搜索.

实现这个功能后,我试着在一个相对较大的集合上测试这些算法的运行时间,结果让我很困惑.

int main() 
{
    std::vector<int> V(10000,0);

    std::chrono::system_clock::time_point now1 = std::chrono::system_clock::now();

    for (int …
Run Code Online (Sandbox Code Playgroud)

c++ sorting algorithm search time-complexity

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

使用OpenCV在棋盘中检测中国象棋棋子

如何使用OpenCV在此图像中检测中国象棋棋子?

在此输入图像描述

我尝试过使用HoughCircles,但没有找到圆圈.

Mat src = imread( "x.jpg", CV_LOAD_IMAGE_GRAYSCALE);
GaussianBlur( src, src, Size(9, 9), 2, 2 );

vector<Vec3f> circles;
HoughCircles( src, circles, CV_HOUGH_GRADIENT, 1, src.rows/16);
cout << circles.size() << endl;
// The output is: 0
Run Code Online (Sandbox Code Playgroud)

还测试了斑点检测器,但结果不正确.

Mat im = imread( "x.jpg", IMREAD_GRAYSCALE );

vector<KeyPoint> kps;
SimpleBlobDetector().detect(im, kps);

Mat im_kps;
drawKeypoints( im, kps, im_kps, Scalar(0,0,255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS );
imshow("keypoints", im_kps );
waitKey(0);
Run Code Online (Sandbox Code Playgroud)

c++ opencv detection

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

在OpenCV中是否有类似MATLAB的'impixelinfo()'功能?

我在OpenCV中搜索一个类似于impixelinfo()MATLAB的函数.

impixelinfo() 告诉你

  1. 像素的位置(x, y)
  2. 光标在图像中悬停的像素强度,

    喜欢:

matlab中的impixelinfo()向您展示了这一点

OpenCV中是否有任何实现?有没有人创建它的个人版本?

c++ matlab opencv image-processing

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

在opencv c ++中向后旋转图像

我使用此代码在OpenCV中旋转我的图像:

// get rotation matrix for rotating the image around its center
Point2f center22(RGBsrc.cols/2.0, RGBsrc.rows/2.0);
Mat rot = getRotationMatrix2D(center22, Angle, 1.0);
// determine bounding rectangle
Rect bbox = RotatedRect(center22,RGBsrc.size(),Angle).boundingRect();
// adjust transformation matrix
rot.at<double>(0,2) += bbox.width/2.0 - center22.x;
rot.at<double>(1,2) += bbox.height/2.0 - center22.y;
Mat dst;
warpAffine(RGBsrc, dst, rot, bbox.size());
imshow("rotated_im", dst);
Run Code Online (Sandbox Code Playgroud)

它工作正常.现在我想将该图像旋转回原始图像.当我使用下面的代码时,我看到图像中对象的位置与原始图像中的位置不同.这是为什么以及如何将图像旋转回来?

Point2f center22(RGBsrc.cols/2.0, RGBsrc.rows/2.0);
Mat rot2 = getRotationMatrix2D(center22, -Angle, 1.0);
Rect bbox2 = RotatedRect(center22,RGBsrc.size(), -Angle).boundingRect();
rot2.at<double>(0,2) += bbox2.width/2.0 - center22.x;
rot2.at<double>(1,2) += bbox2.height/2.0 - center22.y;
Mat Rotatedback;
warpAffine(RotatedRGB, Rotatedback, …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image image-rotation

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

&lt;Response [200]&gt; 不是 JSON 可序列化的

按照文档转换 API 示例尝试使用 Flask 将 msword 文档转换为文本,但它不起作用。

这是代码

import os, json, requests

from flask import Flask, jsonify

from watson_developer_cloud import DocumentConversionV1

app = Flask(__name__) #create flask instance

@app.route('/')

def Welcome():

    v = json.loads(os.getenv('VCAP_SERVICES'))
    svcName = 'document_conversion'
    svc = v[svcName][0]['credentials']
    url = svc['url']
    user = svc['username']
    password = svc['password']
    document_conversion = DocumentConversionV1(username=user, password=password,version='2015-12-15')
    # Example of retrieving html or plain text
    with open('./doc.docx', 'rb') as document:
        config = {'conversion_target': DocumentConversionV1.NORMALIZED_TEXT}    
        print(json.dumps(document_conversion.convert_document(document=document, config=config),indent=2))  

if __name__ == "__main__":

    port = os.getenv('VCAP_APP_PORT', '5000')
    app.run(host='0.0.0.0', …
Run Code Online (Sandbox Code Playgroud)

python document-conversion

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