Имя: Пароль:
IT
 
Выбор языка программирования
,
0 megabax
 
16.03.20
17:31
Добрый день.
Нужно написать программу, которая распознает сканы чертежей и распознанным текстом заполняет форму в Excel.
Какой язык лучше выбрать, C# или Python?
Поделитесь, пожалуйста, вашими мыслями "за" и "против" каждого из этих языков.
1 Fragster
 
гуру
16.03.20
17:32
на данном уровне лучше заказать у ABBYY решение
2 Fragster
 
гуру
16.03.20
17:34
а вообще все равно будешь юзать https://opencv.org/ а оно ко всему подключается, хоть к js
3 megabax
 
16.03.20
17:37
(2) Дык кроме OpenCV я еще разные библиотеки машинного обучения буду юзать. У питона это склерн. У C# всякие WEKA и AForge.net. И что лучше?
Хотя, уже один аргумент за питон склерн я знаю, а  WEKA и AForge.net надо изучать.
4 Fragster
 
гуру
16.03.20
17:38
ну вот и порешили
5 Конструктор1С
 
16.03.20
17:40
(0) а какой язык умеешь?
6 megabax
 
16.03.20
17:42
(5) оба
(4) "ну вот и порешили" - с другой стороны, в питоне еще GUI надо изучать, а в C# я уже знаю.
7 Fragster
 
гуру
16.03.20
17:43
нафига гуи? сделай консольную и прикрути к 1с
8 Fragster
 
гуру
16.03.20
17:43
ну или к веб
9 megabax
 
16.03.20
17:43
А еще в C# полноценное ООП. В Python чуть кастрированная и динамическая типизация переменных
10 Доктор Манхэттен
 
16.03.20
17:55
(7) Тогда лучше сразу писать на 1С
11 Доктор Манхэттен
 
16.03.20
17:55
(8) Тогда лучше сразу писать на JS
12 Доктор Манхэттен
 
16.03.20
17:56
(9) Какая тебе разница на это? Шашечки или ехать, как говорится
13 Sysanin_1ц
 
16.03.20
18:13
(10) А какими средствами ты это напишешь в 1с ?
14 Доктор Манхэттен
 
16.03.20
18:22
(13) В 1С пишут средствами 1С, очевидно.
15 Доктор Манхэттен
 
16.03.20
18:25
Excel и FineReader подключаются что к 1С, что к C# или Питону одинаково, через COM-объект. Поправьте меня, если я ошибаюсь.
16 megabax
 
16.03.20
18:53
(12) Дык когда полноценный ООП удобнее программировать же
17 Garykom
 
гуру
16.03.20
19:20
(0) Без разницы на чем это делать.
Выбирай то что лучше знаешь.

И раздели задачу и обобщи слегка ее.
Надо сканировать некие файлы изображений, вытаскивать/распознавать из них нечто. Это нечто обрабатывать как то. И затем записывать куда то в неком виде/формате.

Т.е. выкинь форматы картинок, и упоминание "Excel" а дальше решай задачу.
Когда решишь уже прикрутить к любым графическим форматам и выходным файлам будет сильно проще.
18 wt
 
16.03.20
20:04
(0) глупости. В 2000-х сделав тех подготовку производства, попытался спецификацию конструкторской документации ввести в разработанную систему. Обратился в FainReader. Пару месяцев с ними сидели , расшифровывали образцы СП. Добились 96% точности. Но остальные 4%, это 4-5 символов на лист а4. Это означало, что будут сидеть бабушки и выверять введённый текст. Отказались от этой затеи. То же самое примерно произошло, уже позже, когда подумали вводить автоматизированно товарные накладные или счета-фактуры, контора, что предлагала решение не гарантировала точность ввода.
Тут, как я понял, об’явился феномен в области программирования. Удачи.
19 Лефмихалыч
 
16.03.20
20:08
(18) сейчас есть такие, которые гарантируют
20 Доктор Манхэттен
 
16.03.20
20:11
(16) Не особо. ООП давно считается устаревшим. Современные программисты предпочитают функциональное программирование.
21 wt
 
16.03.20
20:23
(19) то есть, проверять не надо? Ну, ну.
22 Лефмихалыч
 
16.03.20
20:26
(21) надо. Там просто проверяльщики as-a-service включены в тариф
23 Конструктор1С
 
16.03.20
20:40
(16) удобнее чем что?
24 spock
 
16.03.20
20:48
(0) В этой задаче следующие функциональные блоки в порядке процессинга пайплайне:
1. Классификация входных данных (Multi-label classification) - какой из вариантов чертеж, и чертеж ли;
2. Сегментация области на чертеже с целевым текстом (Instance segmentation) - ищем область, где лежит нужный нам текст, ведь нужен не весь текст с чертежа, а табличка - Основная надпись;
3. Оптическое распознавание Основной надписи чертежа (OCR) - что распознали, то и пишем в Excel, а если нужен результат качественнее, то см. следующие пункты;
4. (optional) Коррекция/Исправление извлеченного текста из Основной надписи чертежа - ну будут ошибки распознавания, надо эти "псевдо-опечатки" исправить;
5. (optional) Распознавание именованных сущностей (Named-Entity Recognition) - извлечение из распознанного текста чего-то осмысленного для заполнения нужных ячеек в Excel'е :-)
25 spock
 
16.03.20
20:49
+24 Вы даже не представляете сколько это будет стоить от Abbyy, тем более, как кастомное решение )
26 Доктор Манхэттен
 
16.03.20
20:50
(23) Удобнее чем процедурное, как раньше учили. Но менее удобно чем функционально-декларативное.
27 vde69
 
16.03.20
21:52
питон - это язык которому уже лет очень много, он отстал от железа просто на несколько поколений... он вообще ни какой в плане функциональности, единственный плюс на нем библиотек много.

решетка - более менее современный язык...
28 v77
 
16.03.20
21:59
(27) Интересно, как питон может отстать от железа. Он ассемблер что-ли какой то :))
29 vde69
 
16.03.20
22:03
(28) например в нем нет поддержки
1. многопоточности
2. многоплатформености
3. ....
30 v77
 
16.03.20
22:05
(24) Зря распинаешься. Автор этой ветки через пару дней создаст еще одну типа "Почему у меня не работает скрипт mytest.py" или "На каком языке лучше написать распознование китайских лиц"
31 Asmody
 
16.03.20
22:06
Тем временем, вся команда npm и сам проект npmjs был куплен гитхабом https://github.blog/2020-03-16-npm-is-joining-github/
Microsoft прибрал к рукам инфраструктуру JavaScript
32 spock
 
16.03.20
22:10
(29) С оговорками:
1. многопоточность есть, но она малопоточная. Народ выкручивается через Popen;
2. linux, windows, mac + https://www.python.org/download/other/
33 spock
 
16.03.20
22:22
(30) давно не писал на 1с-ом форуме, а тут повод предоставился задвинуть про DataScience и ввязаться в питоно-срач )
34 v77
 
16.03.20
22:23
(29) Ну так это язык для быстренько тяп-ляп и готово. Накой ему твои многопоточности.
35 Garykom
 
гуру
16.03.20
22:35
На данный момент есть всего несколько реально многоплатформенных технологий.
Лично я выделяю истинно многоплатформенные это C, Lua, NodeJS и Golang.
Все прочее хрен запустишь на микроконтроллере/одноплатнике/роутере.
36 Garykom
 
гуру
16.03.20
22:36
(35)+ Про PHP забыл, тоже та еще зараза почти везде пролезла.
37 v77
 
16.03.20
22:44
(35) FreePascal еще дофига всякой экзотики поддерживает
38 v77
 
16.03.20
22:45
Free Pascal is a 32, 64 and 16 bit professional Pascal compiler. It can target many processor architectures: Intel x86 (including 8086), AMD64/x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS and the JVM. Supported operating systems include Linux, FreeBSD, Haiku, Mac OS X/iOS/iPhoneSimulator/Darwin, DOS (16 and 32 bit), Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android, AIX and AROS. Additionally, support for the Motorola 68k architecture is available in the development versions.
39 v77
 
16.03.20
22:48
Сам лично использовал для Win32, Win64, Linux, FreeBSD и WinCE.
40 Garykom
 
гуру
16.03.20
22:58
(38) Из коробки не катит паскаль. И куча граблей и т.д. на редких платформах.

А вот голанга решает те же проблемы и тоже в бинарник компилится но уже на многих платформах в комплекте и банально ставится.
"apt install golang" или "opkg install go"
41 Garykom
 
гуру
16.03.20
22:59
(40)+ В смысле где раньше приходилось использовать и компилировать С, сча можно уже Go и намного проще и быстрее.
42 Garykom
 
гуру
16.03.20
23:01
(41)+ И да сваять "веб-сервер" на паскале это задачка почти уровня сваять на C.
На node же это как и на golang тривиальнейше. Ну и почти все прочее что раньше делали на паскале или си тоже можно.
43 v77
 
16.03.20
23:02
(40) На каких редких? Ты для Nintendo пишешь чтоли? Windows и Linux работает и хватит.
44 v77
 
16.03.20
23:03
(42) я и не призываю на паскале web серверы писать
45 Garykom
 
гуру
16.03.20
23:05
(43) Апельсинки/малинки и прочие роутеры на OpenWRT например.
Или девайсы на андроид.
46 Garykom
 
гуру
16.03.20
23:06
(44) Вот выбор между двумя технологиями одна умеет нечто и веб сервер в комплекте и другая только нечто а веб сложно.
Что выберем?
47 Сияющий в темноте
 
16.03.20
23:14
(46) выбираем ту,у которой размер кода меньше,так как у иалинки памчть не безгранична.
48 Garykom
 
гуру
16.03.20
23:15
(47) zram, swap или берем малинку с 4 гиг памяти ))
49 Garykom
 
гуру
16.03.20
23:17
(48)+ Но да роутер keenetic c 64 ram у меня без swap тупо ушел в ребут без swap при попытке скомпилировать нечто посложнее "привет мир" на голанге.
50 lodger
 
16.03.20
23:29
(49) c gcc такой херни бы не произошло.
51 Asmody
 
16.03.20
23:45
(49) компилировать на роутере? Извращенцы, фубля
52 trdm
 
17.03.20
05:54
(29) > например в нем нет поддержки

а модули "thread" и threading и прочие?
53 Кирпич
 
17.03.20
08:27
(45) да это для шизанутых радиолюбителей. таких один на миллион
54 Восстановленная Проц
 
17.03.20
08:33
C#
55 unbred
 
17.03.20
08:52
(0) отпишись, когда сделаешь.
56 Кирпич
 
17.03.20
08:59
(55) так он уже сделал
57 Garykom
 
гуру
17.03.20
09:05
(53) Неа это для любого программиста полезно.
Умный дом и прочее же.
Вот хочу чтобы как я пришел домой/дома то мой роутер автоматом включал нужные vpn а как ухожу то выключал.
58 Кирпич
 
17.03.20
09:22
(57) "Вот хочу чтобы как я пришел домой/дома то мой роутер автоматом включал нужные vpn а как ухожу то выключал."
вот я и говорю, что для шизанутых радиолюбителей
59 Garykom
 
гуру
17.03.20
09:27
(58) Ну пока умные выключатели стоят дорого, а так удобно же управление светом и всей бытовой техникой самому наваять.
На 1С это гм, на C сложно, на PHP извращенно, а Go мне понравился
60 Кирпич
 
17.03.20
09:36
(59) ты в зимнем дворце живешь что ли или тебе лень два шага шагнуть до выключателя
61 Сияющий в темноте
 
17.03.20
15:51
в зимнем,как раз,проще - хлопнул в ладоши и свечи зажгли.
а вот,чтобы свет сам,когда нужно,без всяких пультов и телефонов-это фантастика.
62 sitex
 
naïve
17.03.20
16:22
(59) Ну умную розетку купить которая по приходу включала роутер не ?
63 Доктор Манхэттен
 
17.03.20
16:27
(61) >> а вот,чтобы свет сам,когда нужно,без всяких пультов и телефонов-это фантастика.

Это не фантастика, а обычный умный дом. Их полно уже готовых, хоть от Сяоми, хоть от Амазона. Тратить свое время на то что уже давно придумано - очень тупо.
64 Garikk
 
17.03.20
16:38
(63) <Тратить свое время на то что уже давно придумано - очень тупо.>

"Все что можно было изобрести - уже изобретено"(c)

в случае с умным домом - есть куда копать, большинство решений всеравно надо напильником пилить очень усиленно
65 Доктор Манхэттен
 
17.03.20
16:42
(64) Не надо. Скорее всего без этого можно логко обойтись, если оно не предусмотрено изготовителем.
А пилить напильником только ради того чтобы пилить напильником - удел несерьезного молодняка, которым еще не совсем понятно что в этой жизни действительно важно, а что нет.
66 Garikk
 
17.03.20
16:47
(65) <можно логко обойтись, если оно не предусмотрено изготовителем. >
"Это вам не нужно" (с) Эппл

помню сказал умному пылесосу через умный дом гугла, пропылесосить комнату...а потом никак не мог отменить...и я до сих пор хз как это сделать и вообще добавить свою команду туда
67 Garikk
 
17.03.20
16:48
(65) и да, это не нужно, я пылесос через приложение запускаю...потому что умный дом это крындец как долго всё организовывать чтобы оно норм работало как надо
68 Доктор Манхэттен
 
17.03.20
16:53
(66) Тут два варианта: Броситься делать свой умный дом, с командой выключения пылесоса, или погуглить как пользоваться готовым. Что было бы быстрее?
69 Garikk
 
17.03.20
16:58
(68) думаешь я не гуглил? гугл славится качеством своей документации, которая или устарела или ее нет
70 Доктор Манхэттен
 
17.03.20
17:23
(69) Погуглил за тебя, первая же ссылка, стандартные команды такие:
Ok Google, start vacuuming
Ok Google, stop vacuuming
71 Garikk
 
17.03.20
17:24
(70)
1) ссылка не на гугл же? вы небось этот список в roomba нашли
2) а если пылесосов два?
3) а если пылесос называется по русски?
72 Garikk
 
17.03.20
17:25
(70)
4) а если указать другую комнату надо?

===

вообщем список можно бесконечно продолжать
73 Доктор Манхэттен
 
17.03.20
18:15
(71) Не знаю что такое румба. Возможно что на конкретную модель пылесоса нужна особая команда. Но на большинстве работает start и stop, судя по результатам поиска.
Если пылесосов два, то по имени нужно называть каким пылесосить или в какой комнате это делать. Хоть по китайски. Только зачем ты его назвал так?
74 Доктор Манхэттен
 
17.03.20
18:16
(72) Как раз в предыдущем сообщении на это уже ответил. Нужно говорить в какой комнате пылесосить, если хочешь чтобы это произошло.
75 Garikk
 
17.03.20
18:22
(73) < Только зачем ты его назвал так>
ага, тоесть мне надо купить пылесос определенной модели (на который есть мануал и гейт работает нормально), называть или номерами или по английски и лучше короткими словами

короче куча геморроя...это техника для людей или люди для техники?
76 Доктор Манхэттен
 
17.03.20
18:34
(75) >> ага, тоесть мне надо ...

Ну конечно. Почему нет?


>> короче куча геморроя

наоборот, куча геморроя будет если ты этого не сделаешь, что ты собственно и получил. Если не нравится, напиши свою прошивку.
Нужно пользоваться тем что дают, а не вставлять палки в колеса самому себе.
Это все равно что купить жигуль, и поехать на нем в озеро, а потом ныть что он не плавает, и приделывать к нему гондолы в гараже. Если много ненужного времени и мало денег и нет работы - то на здоровье, убивай время на всякую хрень.
77 Garikk
 
17.03.20
19:14
(76) <Нужно пользоваться тем что дают, а не вставлять палки в колеса самому себе. >

да, не нужно, нужно лопатить форумы выдумывать хитроумные конфигурации, чтобы все заработало так как описано в рекламных брошюрках, это не вставляние палок в колеса? не убивание времени на всякую хрень?
78 Garikk
 
17.03.20
19:21
весь рынок умных домов, это оголтелый вендорлок и огораживание с запретами..или покупай железки одного производителя или страдай

есть опенсорсные решения на которые можно что угодно натянуть и оно будет работать гораздо лучше, разве что придется чуть больше времени потратить при первоначальной настройке
79 Garykom
 
гуру
17.03.20
19:27
(78) Ничего и туда введут обязательную сертификацию с лицензированием.
И будет как с самодельными автомобилями и самолетами - вроде и можно сделать но хрен поедешь/полетишь.
80 Garikk
 
17.03.20
19:29
(79) в некоторых странах уже так...чтобы дома унитаз починить надо лицензию стантехника иметь, лампочку вкрутить - лицензию электрика

чтобы в таких условиях умный дом собрать, надо пачку дипломов-аттестатов взять
81 Garikk
 
17.03.20
19:30
(79) а в автомобилях, даже не с самодельными, сплошные боль и страдания...софт для Android Auto писать нельзя (или очень-очень-очень ограниченно можно), для ойфонов точно не знаю, но вроде тоже всё запрещено и ограничено
82 Доктор Манхэттен
 
17.03.20
20:44
(78) То есть ты знал что нужно покупать железо одного производителя, но купил у разных, и теперь жалуешься что оно не дружит?
83 Доктор Манхэттен
 
17.03.20
20:49
(80) Это все стереотипы, основанные на том, что в некоторых странах когда люди ставят у себя дома унитазы самостоятельно, а потом затапливают соседей, то им за это не выплачивают страховку, под предлогом что они установили унитаз без лицензии. В России так же, тебе не выплатят страховку если затопишь соседей, даже если унитаз устанавливал сантехник из ЖЭКа, потому что у тебя и страховки то нет. Так что сравнивать нет смысла.
84 Сияющий в темноте
 
17.03.20
21:02
(63) я такого не видел,это "умное" дерьмо может включать свет или по таймеру с различными расчетами солнца или когда темно стало по датчику,а чтобы именно,там где ты находишься,загорался свет,когда он нужен именно тебе-этого нигде нет.
85 Garykom
 
гуру
17.03.20
21:15
(84) Угу причем с самообучением (причем ML аля AI) по отслеживанию кучи показателей, вплоть до положений, действий и состояния объектов в помещениях.
Т.е. если встал с кресла где сидел с лампой настольной то наверно надо включить верхний свет и/или свет в помещении где выход из текущего и т.д.
86 v77
 
17.03.20
21:41
(85) Жили всю жизнь, пальцем выключали и включали. Тут на тебе! Компьютеризация лампочки. Тьфу.
87 v77
 
17.03.20
21:42
Лучше бы изобрели автомобиль на газировке
88 Доктор Манхэттен
 
17.03.20
21:50
(84) Что-то ты путаешь. Умный свет как раз и делает то что ты хотел - включается там где нужно. Полно готовых решений, тот же Амазон. Может даже сигнализировать когда на телефон приходит СМС, для особо глухих.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший