小编U23*_*23r的帖子

如何在opencv中使用OTSU阈值?

我使用的是一个固定的门槛,但事实证明这对我来说并不是那么好.然后,有人告诉我关于otsu门槛的事.如何在我的代码中使用它?我读到了它,我不太了解.有人可以向我解释如何在OpenCV中使用otsu阈值吗?

这是我现在的代码:

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main ( int argc, char **argv )
{
   Mat im_gray = imread("img3.jpg",CV_LOAD_IMAGE_GRAYSCALE);

   Mat im_rgb  = imread("img3.jpg");
   cvtColor(im_rgb,im_gray,CV_RGB2GRAY);

   Mat img_bw = im_gray > 115;

   imwrite("img_bw3.jpg", img_bw);

   return 0;
}  
Run Code Online (Sandbox Code Playgroud)

有了这个,我必须将阈值更改为我想要转换为二进制的任何图像.我找到了这个:

cvThreshold(scr, dst, 128, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);
Run Code Online (Sandbox Code Playgroud)

是对的吗?我不太了解,因此,我不知道如何适应我的代码.

opencv threshold

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

如何在集合视图为空时显示消息

我只是在我的集合视图为空时尝试显示一条消息.好吧,我尝试设置返回1当我的if是真的但是当我有这个时,它只显示我的集合视图中的一个项目(即使我有更多).当我返回此代码(下面的代码)时,它会显示我在集合视图中的所有项目,但是当我尝试删除它时,最后一个不是"可删除",我的意思是,最后一个保留在那里.如果我的集合视图中没有项目,我该如何显示此消息?

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

    if self.movies.count > 0 {

        self.favCollectionView.backgroundView = nil

        return self.movies.count
    }
    else {
        let rect = CGRect(x: 0,
                          y: 0,
                          width: self.favCollectionView.bounds.size.width,
                          height: self.favCollectionView.bounds.size.height)
        let noDataLabel: UILabel = UILabel(frame: rect)
        noDataLabel.text = "No favorite movies yet."
        noDataLabel.textAlignment = .center
        noDataLabel.textColor = UIColor.gray
        noDataLabel.sizeToFit()

        self.favCollectionView.backgroundView = noDataLabel

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

更新

我是这样做的:

func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 2
}


func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) …
Run Code Online (Sandbox Code Playgroud)

ios swift

14
推荐指数
4
解决办法
9213
查看次数

如何在opencv中使用erode和dilate功能?

我试图通过侵蚀和扩张过程消除数字周围的事物.我试过但没有发生任何事.我改变了值只是为了看看是否会改变一些东西,但同样,没有任何改变.图像继续如上面的链接.这些参数怎么样......我阅读了文档,但不太明白(正如你所看到的,我在猜测函数).我究竟做错了什么?

图片:https://docs.google.com/file/d/0BzUNc6BOkYrNeVhYUk1oQjFSQTQ/edit?usp =sharing

代码:

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main ( int argc, char **argv )
{
    Mat im_gray;
    Mat img_bw;
    Mat img_final;

    Mat im_rgb  = imread("cam.jpg");
    cvtColor(im_rgb,im_gray,CV_RGB2GRAY);


    adaptiveThreshold(im_gray, img_bw, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV, 105, 1); 


    dilate(img_bw, img_final, 0, Point(-1, -1), 2, 1, 1);


    imwrite("cam_final.jpg", img_final);

    return 0;
}  
Run Code Online (Sandbox Code Playgroud)

c++ opencv image

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

我可以做些什么来消除图像的"反射光"?使用OpenCV

我的图像有一个"光反射",图像上的两个第一个零点与图像的其余部分有一些不同.当我将其转换为二进制图像时,这部分变为白色,我需要获得数字的确切轮廓并且这会阻碍.我可以通过使用OpenCV来解决这个问题吗?

原始图片https://docs.google.com/file/d/0BzUNc6BOkYrNNlE3U04wWEVvVE0/edit?usp=sharing

二进制版本https://docs.google.com/file/d/0BzUNc6BOkYrNeEE0U3NvOElqa1E/edit?usp=sharing

如果我增加阈值,我会丢失图像右侧的数字.我的代码:

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main ( int argc, char **argv )
{
   Mat im_gray = imread("img2.jpg",CV_LOAD_IMAGE_GRAYSCALE);

   Mat im_rgb  = imread("img2.jpg");
   cvtColor(im_rgb,im_gray,CV_RGB2GRAY);

   Mat img_bw = im_gray > 90;

   imwrite("image_bw2.jpg", img_bw);

   return 0;
}  
Run Code Online (Sandbox Code Playgroud)

opencv image

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

如何在图像旁边放置文本(html)?

我正在建立一个网站Google Sites.我选择3列布局并逐个放置图像.我想把文本放在imagem旁边,但它只适用于第一行,甚至是在图像的"结尾".下面的截图说明了我在说什么.

截图

HTML代码:

<div style="display:block;text-align:left">
<h2><span style="color:rgb(7,55,99)">Students</span></h2>
<hr>
<br>
<div style="display:block;text-align:left"><a href="https://some.addres" imageanchor="1"><img align="left" src="https://some.addres/blue-user-icon.png" border="0"></a>- Name<br>
- Major<br>
- Email<br>
- Lattest</div>
</div>
<br>
<br>
Run Code Online (Sandbox Code Playgroud)

那么,我该怎样做才能将所有文本行放在图像旁边?就像,在图像的同一高度,或类似的东西.

PS.:我不知道如何在这里复制代码,所以我拍了一个截图.对不起,我很抱歉.

html html5 image google-sites web

5
推荐指数
4
解决办法
17万
查看次数

OpenCV错误:"LINK:致命错误LNK1104:无法打开文件'opencv_core231d.lib'"

我正在尝试在visual studio + opencv中编译一个简单的代码,但是遇到了这个错误.

码:

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main ( int argc, char **argv )

{
    Mat im_gray;
    Mat img_bw;
    Mat img_final;

    Mat im_rgb  = imread("001.jpg");
    cvtColor(im_rgb,im_gray,CV_RGB2GRAY);

    adaptiveThreshold(im_gray, img_bw, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV, 105, 1); 

    imwrite("001-bw2.jpg", img_final);
    return 0;
}  
Run Code Online (Sandbox Code Playgroud)

输出:

1>------ Build started: Project: pibiti, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'opencv_core231d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

链接器>>输入:

opencv_core231d.lib
opencv_highgui231d.lib
opencv_video231d.lib
opencv_ml231d.lib
opencv_legacy231d.lib …
Run Code Online (Sandbox Code Playgroud)

c++ error-handling opencv image-processing

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

如何在C中打印队列[数据结构]?

我有结构,我想编写一个主函数来做一些测试,但是:1 - 如何打印这个队列?2 - 我怎样才能将更多的恐龙列入?喜欢,用"for"?

我不是想在这里做一个家庭作业的答案(在有人这么说之前).我有一个考试,所以我只是想学习如何去做,如果有人可以帮助我,我将非常感激.

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

#define MAX_SIZE 10


typedef struct Queue{
    int size;
    int first;
    int last;
    int items[MAX_SIZE];
} Queue;

Queue* createQueue() {
    Queue *queue = (Queue*)malloc(sizeof(Queue));
    queue->size = 0;
    queue->first = 0;
    queue->last = MAX_SIZE - 1;

    return queue;
}

Enqueue(Queue *queue, int item) {
    if(queue->size >= MAX_SIZE) {
        printf("Queue is full!");
    }

    else {
        queue->last = (queue->last + 1) % MAX_SIZE;
        queue->items[queue->last] = item;
        queue->size++;
    }
}

Dequeue(Queue *queue) {
    if(queue->size <= …
Run Code Online (Sandbox Code Playgroud)

c queue data-structures

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

圆形图像查看与KingFisher(iOS - Swift)

场景:

我有一个@IBOutlet弱变量posterImageView:UIImageView!我正在使用Kingfisher在我的tableView上显示(我必须使用它).该图像来自API.所以,没关系,图像显示正常,但我想将此图像显示为圆形.我没有这个翠鸟,它工作,使用:

posterImageView.layer.cornedRadius = posterImageView.frame.size.width/2
posterImageView.clipsToBounds = true
Run Code Online (Sandbox Code Playgroud)

但是对于翠鸟,我这样做:

let imgStg: String = self.movies[indexPath.row].poster!
let imgURL: URL? = URL(string: imgStg)
let imgSrc = ImageResource(downloadURL: imgURL!, cacheKey: imgStg)

cell.posterImageView.kf.setImage(with: imgSrc)
Run Code Online (Sandbox Code Playgroud)

在这个功能里面:

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
Run Code Online (Sandbox Code Playgroud)

所以,当我在viewDidLoad()上调用posterImageView.layer.cornedRadius ...时,xcode会说我的TableViewController上没有这样的posterImageView.

如何使用此翠鸟电话自定义图像视图?

uiimageview ios swift kingfisher

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

链接:致命错误LNK1104:无法打开文件'opencv_calib3d245d.lib'(OpenCV 2.4.9)

我在Windows 7中使用OpenCV 2.4.9和Visual Studio C++ 2010 Express.

我下载了OpenCV 2.4.9并根据本教程完成了安装过程.包括设置环境变量.

http://opencv-srf.blogspot.com.br/2013/05/installing-configuring-opencv-with-vs.html

除了编译器的版本,而不是"vc11"(就像在教程中)我把"vc10".

好吧,其余的我在本教程中完全喜欢.

我正在尝试运行这个简单的代码:

#include <stdio.h>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main ( int argc, char **argv ) {

    Mat image = imread("9-002.tif", CV_LOAD_IMAGE_GRAYSCALE);

    adaptiveThreshold(image, image, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV, 111, -20);

    imwrite("rs_9-002.tif", image);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行项目时,我得到了这个:

1>------ Build started: Project: Projeto de TESTES, Configuration: Debug Win32 ------
1>  main.cpp
1>LINK : fatal error LNK1104: cannot open file 'opencv_calib3d245d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 …
Run Code Online (Sandbox Code Playgroud)

c++ opencv visual-studio-2010 visual-c++

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

更新 Firebase 后无法在 swift 项目上找到“InstanceID”和“InstanceIDTokenHandler”

我有一个旧项目需要更新 Firebase,所以我这样做了。之后,我收到两个错误,但我不明白如何解决它们。有人可以帮我解决这个问题吗?

文件1.swift:

func token(withAuthorizedEntity authorizedEntity: String, scope: String, options: [AnyHashable: Any]? = nil, handler: @escaping InstanceIDTokenHandler) {
    
}
Run Code Online (Sandbox Code Playgroud)

错误:在范围内找不到类型“InstanceIDTokenHandler”

文件2.swift

func checkDeviceToken() {
    let hasDeviceToken: Bool      =  self.devicesTokenUseCase.hasDeviceToken()
    let dontHaveDeviceToken: Bool = !hasDeviceToken

    InstanceID.instanceID().instanceID { (result, _) in
        if let result = result {
            let isNotSameToken: Bool = !self.devicesTokenUseCase.isSameDeviceToken(deviceToken: result.token)

            if hasDeviceToken && isNotSameToken {
                self.updateDeviceToken(token: result.token)
            } else if dontHaveDeviceToken {
                self.sendDeviceToken(token: result.token)
            }
        } else {
            self.checkDeviceToken()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:在范围内找不到“InstanceID”

ios firebase swift firebase-cloud-messaging

0
推荐指数
1
解决办法
1562
查看次数