-
X-Received: by 2002:ac8:8c:: with SMTP id c12mr4652712qtg.72.1603309483360; Wed, 21
Oct 2020 12:44:43 -0700 (PDT)
X-Received: by 2002:ac8:8c:: with SMTP id c12mr4652712qtg.72.1603309483360; Wed, 21
Oct 2020 12:44:43 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!feeder.erje.net!news.uzoreto.com!tr1.eu1.usenetexpress.com!feeder.usenete
xpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.gigan
ews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.g
ooglegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 21 Oct 2020 12:44:43 -0700 (PDT)
In-Reply-To: <rmorh6$cu7$1@dont-email.me>
Complaints-To: g...@g...com
Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <rmorh6$cu7$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a...@g...com>
Subject: Re: Odczyt ciśnienia - analiza obrazu
From: Maciej Sobczak <s...@g...com>
Injection-Date: Wed, 21 Oct 2020 19:44:43 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 55
Xref: news-archive.icm.edu.pl pl.comp.programming:215209
[ ukryj nagłówki ]> Jest takie coś:
>
> https://drive.google.com/file/d/1wsunQU_gOmqgQ1-jFkH
eubBNSpJPAS5F/view?usp=sharing
Wolfram:
img = Import["cisnieniomierz.jpg"];
img2 = ImageTake[
ImageResize[ImageMultiply[img, 5], 500], {76, -39}, {86, -82}];
img2 to rozjaśniony, wycentrowany (na oś wskazówki, wartości dobrane) i pomniejszony
obraz ciśnieniomierza.
mask = Rasterize[
Graphics[{Disk[{0, 0}, 1.1], White, Disk[{0, 0}, 1]},
PlotRange -> {{-1.75, 1.75}, {-1.75, 1.75}}],
RasterSize -> ImageDimensions[img2]];
mask to maska, która wycina pierścień tam, gdzie jest czerwone pole (tam jest tylko
czarna wskazówka na czerwonym, więc nic innego nie przeszkadza).
img3 = ImageMultiply[img2, ColorNegate[mask]];
img4 = ImageAdd[img3, mask];
img4 to wycięte czerwone pole z kawałkiem czarnej wskazówki, reszta jest całkiem
biała.
blacks = PixelValuePositions[img4, Black, 0.15];
blacks to lista pozycji czarnych (lub prawie czarnych, tolerancja dobrana) pikseli.
Jest ich w sumie 7.
Map[
Function[p,
N@ArcTan[Divide @@ Reverse[(p - ImageDimensions[img2]/2)]]/Degree
],
blacks
] // Median
7.81529
I tyle właśnie, w stopniach, jest odchylona wskazówka od poziomu.
Można też porobić dużo zdjęć wzorcowych i porównywać korelacją albo jakimiś sieciami,
ale samą arytmetyką jest dużo taniej. Da się to zrobić w dowolnym innym języku.
(BTW - Google twierdzi, że w tym kodzie są adresy mailowe. Dobre.)
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 21.10.20 22:03 heby
- 22.10.20 00:07 Maciej Sobczak
- 22.10.20 08:55 Andrzej S
- 22.10.20 09:19 heby
- 22.10.20 18:29 Maciej Sobczak
- 22.10.20 19:52 Roman Tyczka
- 22.10.20 22:16 heby
- 23.10.20 16:50 Adam M
- 23.10.20 18:10 heby
- 23.10.20 18:16 Mateusz Viste
- 23.10.20 18:52 heby
- 23.10.20 21:16 Adam M
- 14.11.20 05:35 M.M.
- 14.11.20 20:21 Mateusz Viste
- 15.11.20 06:56 M.M.
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi
- 2024-12-20 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-20 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-20 Rzeszów => International Freight Forwarder <=
- 2024-12-20 Katowice => Key Account Manager (ERP) <=
- 2024-12-20 Ekstradycja
- 2024-12-20 Mikroskop 3D
- 2024-12-20 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-20 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe