精华内容
下载资源
问答
  • 如何在直线上添加文字
    2021-03-18 10:38:04

    OpenCV 文字识别(一):图像预处理

    上一篇的博客中我使用了C++对印刷体汉字进行了预处理,但因为文字识别模型是基于TensorFlow的,C++调用python代码繁杂且容易出错,所以试着用Python代码写整个项目。

    总体思路不变:获取直线-->间接获取角度-->旋转

    测试代码:

    #! /usr/bin/env python

    # -*- coding: utf-8 -*-

    import cv2

    import numpy as np

    # 完成灰度化,二值化

    def two_value(img_raw):

    img_gray = cv2.cvtColor(img_raw, cv2.COLOR_BGR2GRAY) # 灰度化

    ret, img_two = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU) # 二值化

    return img_two

    # 旋转函数

    def rotate(img_rotate_raw, angle):

    (h, w) = img_rotate_raw.shape[:2]

    (cx, cy) = (w//2, h//2)

    m = cv2.getRotationMatrix2D((cx, cy), angle, 1.0) # 计算二维旋转的仿射变换矩阵

    return cv2.warpAffine(img_rotate_raw, m, (w, h), borderValue=(0, 0, 0))

    # 霍夫直线检测

    def get_angle(img_hou_raw):

    sum_theta = 0

    img_canny = cv2.Canny(img_hou_raw, 50, 200, 3)

    lines = cv2.HoughLines(img_canny, 1, np.pi/180, 300, 0, 0)

    # lines 是三维的

    for i in range(lines.shape[0]):

    theta = lines[i][0][1]

    sum_theta += theta

    average = sum_theta / lines.shape[0]

    angle = average/np.pi*180 - 90

    return angle

    def correct(img_cor_raw):

    img_two = two_value(img_cor_raw)

    angle = get_angle(img_two)

    if angle == -1:

    print("No lines!!!")

    return 0

    return rotate(img_two, angle)

    if __name__ == "__main__":

    img = cv2.imread("D:/pycharm/Word_Lib/xie.jpg")

    cv2.imshow("raw", img)

    img_rot2 = correct(img)

    cv2.imshow("last", img_rot2)

    cv2.waitKey()

    测试效果(✔)

    唯一的问题在于改写原先 lines = cv2.HoughLines(img_canny, 1, np.pi/180, 300, 0, 0)这段代码时,无法使用依次判断,因为最初的默认值得类型是NoneType,而之后则是一个三维数组,会产生矛盾。但因为汉字文本直线清晰,故我选择了较小的阈值:100。

    总结:

    1.python和C++很大一点不同便是python没有指针,所以一些函数调用的时候要注意返回值,而C++中返回(输出)值写于函数中。

    2.python矩阵在概念上要着重理解。写代码时踩了很多坑。

    3.pycharm这个IDE很强大,一些语法上的不规范便有各色波浪线,强迫症福利。

    更多相关内容
  • 主要为大家介绍了CSS控制文字在一条线中间的方法,这里实现将“网页特效”四个字显示虚线框的上下居中位置,非常美观,需要的朋友可以参考下
  • Python3 tkinter基础 Button text,fg 按钮显示的文字 文字的颜色 Python : 3.7.0        OS : Ubuntu 18.04.1 LTS        IDE : PyCharm 2018.2.4       Conda ... 随机推荐 css代码优化 一....

    Python : 3.7.0

    OS : Ubuntu 18.04.1 LTS

    IDE : PyCharm 2018.2.4

    Conda : 4.5.11

    typesetting : Markdown

    code

    """

    @Author : 行初心

    @Date : 18-9-30

    @Blog : www.cnblogs.com/xingchuxin

    @Gitee : gitee.com/zhichengjiu

    """

    from tkinter import *

    def main():

    root = Tk()

    w = Canvas(

    root,

    width=200,

    height=200,

    background="white"

    )

    w.pack()

    w.create_text(100, 50, text='神农本草经')

    mainloop()

    if __name__ == '__main__':

    main()

    result

    L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xMzMwNjE0LzIwMTkwMi8xMzMwNjE0LTIwMTkwMjI3MjA0NDM1NjI5LTc1NTg2NDA4LnBuZw==.jpg

    reference

    [文档] docs.python.org/3/library/tkinter.html

    resource

    [文档] docs.python.org/3

    [规范] www.python.org/dev/peps/pep-0008

    [规范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules

    [源码] www.python.org/downloads/source

    [ PEP ] www.python.org/dev/peps

    [平台] www.cnblogs.com

    [平台] gitee.com

    Python具有开源、跨平台、解释型和交互式等特性,值得学习。

    Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。

    GUI可以选择PyQt5、PySide2、wxPython、PyGObject、wxWidgets等进行创作。

    代码的书写要遵守规范,这样有助于沟通和理解。

    每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。

    Python3 tkinter基础 Canvas delete 删除画布中的所有图形

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    Python3 tkinter基础 Canvas background 创建白色的画布 create_line width 画宽的线

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    Python3 tkinter基础 Canvas coords 移动直线,itemconfig 设置矩形的颜色, delete 删除一条直线

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    Python3 tkinter基础 Canvas bind 鼠标左键点击时,在当前位置画椭圆形

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    Python3 tkinter基础 Canvas create_rectangle 画虚边的矩形 create_oval 画椭圆形 圆形

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    Python3 tkinter基础 Canvas create_rectangle 画矩形

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    Python3 tkinter基础 Canvas create_line 画实线与虚线

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    Python3 tkinter基础 Canvas create_polygon 画三角形

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    Python3 tkinter基础 Button text,fg 按钮上显示的文字 文字的颜色

    Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

    随机推荐

    css代码优化

    一.CSS代码优化作用与意义 1.减少占用网页字节.在同等条件下缩短浏览器下载css代码时间,相当于加快网页打开速度2.便于维护.简化和标准化css代码让css代码减少,便于日后维护3.让自己写的cs ...

    .NET简谈反射(动态调用)

    我们继续C#基础知识的学习,这篇文章主要要讲的是我们C#程序员迈向高级C#程序员的关键性的一步. 有的朋友会说事实不是这样的,我不用反射就不能开发吗?当然可以,但是用与不用肯定是不一样的,任何复杂抽象 ...

    inno setup判断是Windows系统版本(其实还是Delphi代码,还能检查域控制器和家庭版)

    1.设置Windows最低版本要求 [Setup]: MinVersion 格式: a.bb,c.dd,这里 a.bb 是 Windows 版本,c.dd 是 Windows NT 版本. 默认值: ...

    【HDU 5184】 Brackets (卡特兰数)

    Brackets Problem Description We give the following inductive definition of a “regular brackets” sequ ...

    Python自动化运维之21、CSS

    一.css简介 CSS 是 Cascading Style Sheets的缩写,称为层叠样式表,用来设计网页的样式布局,以及大小来适应不同的屏幕等,使网页的样式和网页数据分离, 二.导入css 导入c ...

    解决Android5.0以下Dialog引起的内存泄漏

    最近项目开发中,开发人员和测试人员均反应在android5.0以下手机上LeakCanary频繁监控到内存泄漏,如下图所示,但凡用到Dialog或DialogFragment地方均出现了内存泄漏. 如 ...

    在vue 里使用腾讯ditu

    https://www.cnblogs.com/mrer/p/7144705.html

    Chrome 使用绿色版实现同一个机器 打开多个不同的chrome版本

    1. 之前找了一个方案能够实现 多个chrome版本的 同时安装 但是发现不是很好. 2. 最近的一个办法 就是使用chrome的绿色版来实现 3. 下载地址: https://www.chrome6 ...

    svnrdump:E175000:SSL is not supported错误的解决

    参考博客:https://www.cnblogs.com/jkko123/p/6358461.html 参考博客:https://blog.csdn.net/w171066/article/detai ...

    ant 标签详解

    Ant 开发 Ant的构建文件当开始一个新的项目时,首先应该编写Ant构建文件.构建文件定义了构建过程,并被团队开发中每个人使用.Ant构建文件默认命名为build.xml,也可以取其他的名字.只不过 ...

    展开全文
  • OpenCV图像中添加文字,画点,画直线 ,OpenCV图像中添加文字,绘制点,绘制直线

    OpenCV在图像中添加文字,画点,画直线

    尊重原创,转载请注明出处】 http://blog.csdn.net/guyuealian/article/details/77870983
    
    
    #include "stdafx.h"
    #include <iostream>
    #include <string.h>
    #include<opencv2\opencv.hpp>
    using namespace cv;
    using namespace std;
    int main()
    {
    
    	Mat src = imread("images/2.jpg");//图片必须添加到工程目录下
    
    	// 将原图像转换为灰度图像    
    	//cvtColor(src, src, CV_BGR2GRAY)
    
    	//在原图画一个圆圈点
    	cv::Point point;//特征点,用以画在图像中  
    	point.x = 20;//特征点在图像中横坐标  
    	point.y = 50;//特征点在图像中纵坐标  
    	cv::circle(src, point, 4, cv::Scalar(0, 0, 255));//在图像中画出特征点,2是圆的半径 
    
    	//在原图画一条直线
    	cv::Point start = cv::Point(10, 100); //直线起点
    	cv::Point end = cv::Point(50, 200);   //直线终点
    	cv::line(src, start, end, cv::Scalar(0, 0, 255));
    
    	//在原图某个位置添加文字标记
    	//char str[4];
    	//int num = 100;
    	//_itoa_s(num, str, 10);//数字需要转为字符串来显示
    	string str = "Love100";
    	putText(src, str, end, cv::FONT_HERSHEY_DUPLEX, 0.5, cv::Scalar(0, 255,0 ), 2);
    	imshow("src", src);
    	waitKey(0);
    }
    运行结果:


    展开全文
  • 直接RGB图片直线矩形多边形写字-bitmap_plot_v1_2.zip 使用方法: 首先使用正常的imread函数,把你的图片读到工作空间里: I=imread;  % 画一条直线  x=rand*50 50; y=linspace;  I=...
  • Python+OpenCV 给图像添加直线/矩形/圆/文字1、代码部分2、实现效果 1、代码部分 import cv2 import numpy as np img = np.zeros((640, 640, 3), np.uint8) #创建640*640的零矩阵,3通道 img_green = np.zeros((512...

    Python+OpenCV 给图像添加直线/矩形/圆/文字

    1、代码部分

    import cv2
    import numpy as np
    
    img = np.zeros((640, 640, 3), np.uint8) #创建640*640的零矩阵,3通道
    img_green = np.zeros((512, 512, 3), np.uint8) #创建640*640的零矩阵,3通道
    img_green[:] = 78,238,148 #填充绿色
    
    cv2.line(img, (350, 350), (img.shape[1], img.shape[0]), (153, 50, 204), 10)
    #画直线 line(目标图像,直线起点,直线终点,颜色阈值,直线厚度)
    cv2.rectangle(img, (0, 0), (350, 350), (255, 187, 197), cv2.FILLED)
    #画矩形 rectangle(目标图像,起点,终点,颜色阈值,厚度)
    cv2.circle(img, (100, 450), 90, (255, 255, 0), 5)
    #画圆 circle(目标图像,圆心坐标,半径,颜色阈值,厚度)
    cv2.putText(img, "DON'T STOP! ", (360, 150), cv2.FONT_HERSHEY_COMPLEX, 1, (245, 255, 220), 3)
    cv2.putText(img, "KEEP GOING! ", (360, 200), cv2.FONT_HERSHEY_COMPLEX, 1, (245, 245, 220), 3)
    #文字 puText(目标图像,文字内容,坐标,文本字体,文字大小,颜色阈值,厚度)
    
    cv2.imshow("Green Image", img_green)
    cv2.imshow("Image", img)
    
    cv2.waitKey(0)
    
    

    2、实现效果

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 给label添加浮动。 全选 </div>css#all{ float:left; }运行结果
  • CSS文字两边添加横线的几种方法

    千次阅读 2021-06-10 00:59:34
    详细说明现代浏览器中浏览,全部可以正常显示.*第一种情况:是用的标签类名最为多的一个,而实际会用到这样去写的很少,而且随着伪类的出现,实现起来更加方便,但这个的兼容性好啊...优: 兼容性强...
  • } 优点:文字可多行 浮动实现分隔线: .demo_line_04{ width:600px; } .demo_line_04{ overflow: hidden; _zoom: 1; } .demo_line_04 b{ background: #ddd; margin-top: 8px; float: left; width: 26%; height: 1px...
  • 图像文字 实验 import cv2 as cv import numpy as np # 创建一副黑色的图片 img = np.zeros((512, 512, 3), np.uint8) # 画一条线宽为5的蓝色直线 # 参数1:源图像,参数2:起点,参数3:终点,参数4:颜色...
  • } void MainWindow::on_actStraight_Line_triggered() { /*直线的左上角起始坐标点-100, 0 */ auto *item = new QGraphicsLineItem(-100, 0, 100, 0); item->setFlags(QGraphicsItem::ItemIsFocusable | QGraphics...
  • 一些情况下,这个故事可以通过纯图像的方式表达,不需要额外添加文字,但是另外一些情况中,图表需要文字的提示和标签才能将故事讲好。也许标注最基本的类型就是图表的标签和标题,但是其中的选项参数却有很多。...
  • echarts 树图的连接线上加箭头与文字 方案1:箭头作为一个节点 方案2:富文本rich配置
  • 又一个VB.NET Draw绘图实例,可以画圆、直线、椭圆等图形,也可以直接在文字标签输出到图像,演示了DrawLine、DrawEllipse、DrawRectangle、DrawCurve、DrawLines、DrawString、DrawsForm等。以下是简单的画圆、画...
  • 您可能感兴趣的话题:WPS核心提示:流程图简明易懂,工作中应用很广,经常出现文档中,下面我们就来探讨一下怎么样用WPS快速高效和画出漂亮的流程图。流程图简明易懂,工作中应用很广,经常出现文档中,下面...
  • CSS 文字两边加直线

    千次阅读 2015-12-23 16:41:34
    Examples -->  Float    span  {  display: block;  position: relative;  border:1px solid green;  width: 1000px;  margin:
  • 具体做法是:首先将input标签用一个div标签包裹,并设置div的属性为:style='display:inline',同时也设置input的属性为:style='display:inline',input前后都可汉字,实例如下: <div style="display:inline...
  • python ImageDraw 添加文字

    千次阅读 2020-11-29 08:53:48
    # # # 绘制直线 # draw.line((20, 20, 150, 150), 'cyan') # # # 绘制矩形 # draw.rectangle((100, 200, 300, 400), 'black', 'red') # # # 绘制弧 # draw.arc((100, 200, 300, 400), 0, 180, 'yellow') # draw.arc...
  • 为了突出文字的重点,可以添加双删除线,怎么给PPT里面的文字添加删除线?一起看看吧。 1,新建一份PPT文档,输入示例文字用于演示,如图。 2,选中文字右键,点击“文本高级设置”,字体设置里面勾选双删除线...
  • canvas绘制的直线动画

    2020-08-31 13:48:00
    本文主要分享了canvas绘制的直线动画的示例代码。具有很好的参考价值,下面跟着小编一起来看下吧
  • 主要介绍了使用dc画笔画矩形、直线与椭圆示例,需要的朋友可以参考下
  • //原图某个位置添加文字标记 //char str[4]; //int num = 100; //_itoa_s(num, str, 10);//数字需要转为字符串来显示 string str = "Love100"; putText(src, str, end, cv::FONT_HERSHEY_DUPLEX, 0.5, cv::Scalar...
  • html 水平线中间添加文字

    千次阅读 2021-06-09 01:30:19
    .personal-mybuluo-head {height: 14px;position: relative;}.personal-mybuluo-wording {position: absolute;top: 0;z-index: 2;left: 50%;background-color: #fff;color: #777;text-align: center;...
  • 想问下,html怎么能实现下图的效果呢?谢谢 ![图片说明](https://img-ask.csdn.net/upload/201512/14/1450086986_341352.png)
  • 微信小程序文字两边添加横线

    千次阅读 2019-06-04 17:22:44
    效果图 实现代码 方法1 简单点的 wxml <view > <text class='reason_txt'>入网的理由</text> </view> wxss .reason_txt{ font-size: 32rpx;... display: table...
  • css怎么在文字两边加上横线

    千次阅读 2021-06-10 00:59:32
    css中可利用:before、:after和content属性来在文字两边加上横线;语法“E:before,E:after{content:"";flex:1 1;border-bottom:2px solid;}”,E为包含文字的元素。本教程操作环境:Windows7系统、css3版本、Dell G3...
  • 其次,index.html的标签中,添加代码:。浏览器运行index.html页面,此时成功html中画了一条线。html静态页面中,用哪个标签插入一条直线?html代码中:如何输入一条长长的横线呀?用input页面标签 并将下Border...
  • 新建流程图文件流程图可以从 WPS 的其他组件中创建,如 WPS 文字、WPS 表格等,也可以单独创建。流程图自动保存云文档,而非本地硬盘中,可以保证用户创建流程图之后随时调用流程图。1.新建空白流程图如果要从...
  • 目录1 绘制圆2 绘制线段3 绘制椭圆4 绘制矩形5 绘制多边形6 生成文字示例代码 1 绘制圆 OpenCV4中分别提供了绘制圆的函数cv.circle(). #cv.circle()函数原型 img = cv.circle(img, center, radius, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,937
精华内容 12,774
关键字:

如何在直线上添加文字