小编Tai*_*ato的帖子

OpenCV - 如何将自适应阈值应用于iOS上的图像

我正在尝试将自适应阈值应用于A4纸的图像,如下所示:

我使用下面的代码来应用图像处理:

+ (UIImage *)processImageWithOpenCV:(UIImage*)inputImage {
    cv::Mat cvImage = [inputImage CVMat];
    cv::Mat res;
    cv::cvtColor(cvImage, cvImage, CV_RGB2GRAY);
    cvImage.convertTo(cvImage,CV_32FC1,1.0/255.0);
    CalcBlockMeanVariance(cvImage,res);
    res=1.0-res;
    res=cvImage+res;
    cv::threshold(res,res, 0.85, 1, cv::THRESH_BINARY);
    cv::resize(res, res, cv::Size(res.cols/2,res.rows/2));
    return [UIImage imageWithCVMat:cvImage];
}

void CalcBlockMeanVariance(cv::Mat Img,cv::Mat Res,float blockSide=13) // blockSide - the parameter (set greater for larger font on image)
{
cv::Mat I;
Img.convertTo(I,CV_32FC1);
Res=cv::Mat::zeros(Img.rows/blockSide,Img.cols/blockSide,CV_32FC1);
cv::Mat inpaintmask;
cv::Mat patch;
cv::Mat smallImg;
cv::Scalar m,s;

for(int i=0;i<Img.rows-blockSide;i+=blockSide)
{
    for (int j=0;j<Img.cols-blockSide;j+=blockSide)
    {
        patch=I(cv::Rect(j,i,blockSide,blockSide));
        cv::meanStdDev(patch,m,s);
        if(s[0]>0.01) // Thresholding parameter (set smaller for lower contrast image) …
Run Code Online (Sandbox Code Playgroud)

c++ opencv objective-c ios

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

UIScrollView的平滑自定义分页

我在UIScrollView中有两个(可能更多)视图,并希望使用分页.当我尝试使用UIScrollView的默认分页选项时出现问题,因为视图具有不同的宽度,无法正确分页.

所以我已经实现了一个可行的自定义分页代码.但是,当滚动较慢时,它不会按预期运行.(它回到没有动画的原始位置.)

以下是我目前通过UIScrollViewDelegate进行自定义分页的方法

func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
    if direction == 1{
        targetContentOffset.pointee.x = 0
    }else{
        targetContentOffset.pointee.x = 100
    }
}
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
    if scrollView.panGestureRecognizer.translation(in: scrollView.superview).x > 0 {
        direction = 1
    }
    else {
        direction = 0
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要的是: 在此输入图像描述 是)我有的: 在此输入图像描述

ios swift

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

Swift函数在完成处理之前返回值

基本上,我有一个用于将简单数据发布到服务器的代码,success如果发布请求成功,它将返回一个布尔值,但是似乎在处理数据之前就已经返回了布尔值,我在做错什么吗?

public func postRequest(rawText: String) -> Bool {
    var success = true
    let destUrl = "http://api.getquesto.com:8080/upload/"
    var request = URLRequest(url: URL(string: destUrl)!)
    request.httpMethod = "POST"
    let postString = rawText
    request.setValue("text/plain", forHTTPHeaderField: "Content-Type")
//    request.setValue("compute", forHTTPHeaderField: "Questo-Query")
//    request.setValue("Fuck you", forHTTPHeaderField: "quizTitle")

    request.httpBody = postString.data(using: .utf8)
    print(request.httpBody!)
    let task = URLSession.shared.dataTask(with: request) { data, response, error in
        guard let data = data, error == nil else {                                                 // check for fundamental networking error
            print("error=\(error)")
            success = false
            print(success)

            return …
Run Code Online (Sandbox Code Playgroud)

function ios nsurlsession swift swift3

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

如何在swift 3中的图像上的两点之间画一条线?

我是swift的新手,我想在我称为mapView的图像上画两条点之间的线,我试图使用CGContext但没有结果,任何想法都有帮助吗?谢谢.

UIGraphicsBeginImageContext(mapView.bounds.size)
    let context : CGContext = UIGraphicsGetCurrentContext()!
    context.addLines(between: [CGPoint(x:oldX,y:oldY), CGPoint(x:newX, y:newY)])
    context.setStrokeColorSpace(CGColorSpaceCreateDeviceRGB())
    context.setStrokeColor(UIColor.blue.cgColor.components!)
    context.setLineWidth(3)
    mapView?.image?.draw(at: CGPoint(x:0, y:0))
    context.strokePath()
    mapView.image = UIGraphicsGetImageFromCurrentImageContext()!
    UIGraphicsEndImageContext()
Run Code Online (Sandbox Code Playgroud)

cgcontext cgcontextdrawimage swift

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

如何使用 NSXMLParser 从 SWIFT 中的 XML 获取特定属性

我需要从XML 文件<reading type="NPSI_PM25_3HR" value="xx"/>中检索特定 属性<id>NRS</id>,然后将其解析为变量,稍后我想打印该变量,但我找不到任何方法在 Swift 中执行此操作。有什么办法可以做到这一点吗?谢谢!

xml parsing nsxmlparser ios swift

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