Kezdőoldal » Elektronikus eszközök » Fényképezőgépek, kamerák » Egy fotóról meg lehet állapíta...

Egy fotóról meg lehet állapítani hogy milyen típusú géppel csinálták? Tesz valami típusazonosítót gép a fotóba? Vagy ha nem is, van olyan szoftver amivel legalább behatárolni lehet?

Figyelt kérdés
Egyes gépek pl. "szebb" fotókat csinálnak mint a másik, ez alapján lehetne azonosítani.
2017. febr. 14. 12:40
1 2 3
 11/26 A kérdező kommentje:
aj jaj most látom, hol van. nem miattam van itt, én a programozási topicba tettem, de a moderátorok áttették ide mert benne van a kérdésben a fotó szó...
2017. febr. 14. 17:30
 12/26 anonim ***** válasza:
Azonkívül azért, mert a kérdésnek (eddig) semmi köze sem volt a programozáshoz.
2017. febr. 14. 17:53
Hasznos számodra ez a válasz?
 13/26 A kérdező kommentje:

programok topicban volt egészen pontosan.

na de látom nektek semmi se jó, ha egyik topicban van az a baj, ha a másikban az a baj, stb.

2017. febr. 14. 18:02
 14/26 A kérdező kommentje:
de akkor ennek inkább a számítástechnika rovatban az egyéb kategóriában kellene lennie. igaz az alapkérdés olyan szoftver ami olvashatóvá teszi, ami alapján viszont oda kéne visszarakni ahol eredetileg volt...
2017. febr. 14. 18:06
 15/26 anonim ***** válasza:
Kedves kérdező kapcsold ki a write only módodat, és áruld el, hogy milyen nyelven írod a programot, ami "változóba olvasná" a metaadatokat?
2017. febr. 14. 18:10
Hasznos számodra ez a válasz?
 16/26 A kérdező kommentje:
autoit. de nem az olvasná hanem egy arra megfelelő rutin.
2017. febr. 14. 18:30
 17/26 anonim ***** válasza:

Itt:

[link]

található hozzá rutin (Images info reader résznél).

2017. febr. 14. 18:51
Hasznos számodra ez a válasz?
 18/26 A kérdező kommentje:

köszi

de a fotógép típusa leolvasását nem találom

2017. febr. 14. 20:11
 19/26 anonim ***** válasza:

A ParseExif() függvény dolgozza fel az Exif tageket (ezt használja a JPEG fájlok feldolgozását végző _ImageGetInfoJPG(() függvény is).


Ezen leírás

* [link]

és a 2.31-es szabvány:

* [link]

45. oldala szerint a

* _AddPair($aTag, 0x010F, "Make")

sor a gyártóért, a

* _AddPair($aTag, 0x0110, "Model")

sor a modellért felelős.

2017. febr. 14. 20:52
Hasznos számodra ez a válasz?
 20/26 A kérdező kommentje:

Az a baj, hogy nem értem.

Addig böngésztem, míg találtam egy ilyen rutint:



;===============================================================================

; EXIF Parser

;===============================================================================

Func ParseExif($hFile, $exif_offset)

Local $nTiffHdrOffset, $pHdr, $nIFDOffset, $pCnt, $nIFDCount, $pTag, $nCnt, $id, $nEIFDCount

Local $ByteOrder = 0, $sInfo = ""

Local $nEIFDOffset, $aTag[1][2]

Local $sSpecialTags = "0112,8822,9208,9207,9209,9101,0128,A217,A403,A402,A406,A408,A409,A40A"


_AddPair($aTag, 0x0100, "ExifWidth")

_AddPair($aTag, 0x0101, "ExifHeight")

_AddPair($aTag, 0x011A, "XResolution")

_AddPair($aTag, 0x011B, "YResolution")

_AddPair($aTag, 0x0102, "Colordepth")

_AddPair($aTag, 0x0132, "DateTime")

_AddPair($aTag, 0x9003, "DateTimeOriginal")

_AddPair($aTag, 0x9004, "DateTimeDigitized")

_AddPair($aTag, 0x9102, "CompressedBitsPerPixel")

_AddPair($aTag, 0x9000, "ExifVersion")

_AddPair($aTag, 0x9204, "ExposureBiasValue")

_AddPair($aTag, 0x829A, "ExposureTime")

_AddPair($aTag, 0x829D, "FNumber")

_AddPair($aTag, 0x920A, "FocalLength")

_AddPair($aTag, 0x8827, "ISO")

_AddPair($aTag, 0x010F, "Make")

_AddPair($aTag, 0x9202, "ApertureValue")

_AddPair($aTag, 0x9205, "MaxApertureValue")

_AddPair($aTag, 0x0110, "Model")

_AddPair($aTag, 0x0131, "Software")

_AddPair($aTag, 0x010E, "ImageDescription")

_AddPair($aTag, 0x013B, "Artist")

_AddPair($aTag, 0x8298, "Copyright")

_AddPair($aTag, 0xA420, "ImageUniqueID")

_AddPair($aTag, 0x9286, "UserComments")

_AddPair($aTag, 0x9201, "ShutterSpeedValue")

_AddPair($aTag, 0x9202, "ApertureValue")

_AddPair($aTag, 0x9203, "BrightnessValue")

_AddPair($aTag, 0x9206, "SubjectDistance")

_AddPair($aTag, 0xA404, "DigitalZoomRatio")


$nTiffHdrOffset = $exif_offset + 10 ; Start of TIFF header


$pHdr = _FileReadToStruct("short;short;dword", $hFile, $nTiffHdrOffset)

If DllStructGetData($pHdr, 1) = 0x4D4D then $ByteOrder = 1

$nIFDOffset = _IntR(DllStructGetData($pHdr, 3), $ByteOrder)

$pCnt = _FileReadToStruct("ushort", $hFile, $nTiffHdrOffset + $nIFDOffset) ; Tags count

$nIFDCount = _IntR(DllStructGetData($pCnt, 1), $ByteOrder)


$pTag = DllStructCreate("ushort;ushort;ulong;ulong")

For $nCnt = 0 To $nIFDCount - 1

$pTag = _FileReadToStruct($pTag, $hFile, $nTiffHdrOffset + $nIFDOffset + 2 + $nCnt * 12)

$id = DllStructGetData($pTag, 1)

$id = _IntR($id, $ByteOrder)

For $i = 1 To $aTag[0][0]

If $aTag[$i][0] = $id Then

_Add($sInfo, $aTag[$i][1], _ReadTag($hFile, $pTag, $nTiffHdrOffset, $ByteOrder))

Exitloop

Endif

Next

If StringInStr($sSpecialTags, Hex($id, 4)) Then _AddSpecial($sInfo, $id, _ReadTag($hFile, $pTag, $nTiffHdrOffset, $ByteOrder))

If $id = 0x8769 Then ; Exif IFD Offset

$nEIFDOffset = _ReadTag($hFile, $pTag, $nTiffHdrOffset, $ByteOrder)

$pCnt = _FileReadToStruct($pCnt, $hFile, $nTiffHdrOffset + $nEIFDOffset)

$nEIFDCount = _IntR(DllStructGetData($pCnt, 1), $ByteOrder)

Endif

Next


If not ($nEIFDOffset > 0) Then Return($sInfo)


For $nCnt = 0 To $nEIFDCount - 1

$pTag = _FileReadToStruct($pTag, $hFile, $nTiffHdrOffset + $nEIFDOffset + 2 + $nCnt * 12)

$id = DllStructGetData($pTag, 1)

$id = _IntR($id, $ByteOrder)

For $i = 1 To $aTag[0][0]

If $aTag[$i][0] = $id Then

_Add($sInfo, $aTag[$i][1], _ReadTag($hFile, $pTag, $nTiffHdrOffset, $ByteOrder))

Exitloop

Endif

Next

If StringInStr($sSpecialTags, Hex($id, 4)) Then _AddSpecial($sInfo, $id, _ReadTag($hFile, $pTag, $nTiffHdrOffset, $ByteOrder))

Next

$pHdr = 0

$pCnt = 0

$pTag = 0


Return($sInfo)

EndFunc



Csakhogy nem értem.

Jól értem, hogy ez lekérdezi az $hFile változóban tárolt képfile adatait?

hisz benne van az i amit irtál ebben a felsorolásban:

_AddPair($aTag, 0x0100, "ExifWidth")

_AddPair($aTag, 0x0101, "ExifHeight")

_AddPair($aTag, 0x011A, "XResolution")

_AddPair($aTag, 0x011B, "YResolution")

_AddPair($aTag, 0x0102, "Colordepth")

_AddPair($aTag, 0x0132, "DateTime")

_AddPair($aTag, 0x9003, "DateTimeOriginal")

_AddPair($aTag, 0x9004, "DateTimeDigitized")

_AddPair($aTag, 0x9102, "CompressedBitsPerPixel")

_AddPair($aTag, 0x9000, "ExifVersion")

_AddPair($aTag, 0x9204, "ExposureBiasValue")

_AddPair($aTag, 0x829A, "ExposureTime")

_AddPair($aTag, 0x829D, "FNumber")

_AddPair($aTag, 0x920A, "FocalLength")

_AddPair($aTag, 0x8827, "ISO")


_AddPair($aTag, 0x010F, "Make")


_AddPair($aTag, 0x9202, "ApertureValue")

_AddPair($aTag, 0x9205, "MaxApertureValue")


_AddPair($aTag, 0x0110, "Model")


_AddPair($aTag, 0x0131, "Software")

_AddPair($aTag, 0x010E, "ImageDescription")

_AddPair($aTag, 0x013B, "Artist")

_AddPair($aTag, 0x8298, "Copyright")

_AddPair($aTag, 0xA420, "ImageUniqueID")

_AddPair($aTag, 0x9286, "UserComments")

_AddPair($aTag, 0x9201, "ShutterSpeedValue")

_AddPair($aTag, 0x9202, "ApertureValue")

_AddPair($aTag, 0x9203, "BrightnessValue")

_AddPair($aTag, 0x9206, "SubjectDistance")

_AddPair($aTag, 0xA404, "DigitalZoomRatio")


Ráadásul én örülnék sok más adatnak is. Pl. benne van a felbontás is, bár a képméret meg nem. Csak azt nem értem, ha ezt a rutint meghívom úgy, hogy elötte az $hFile változóba beirom a kérdéses kép nevét, akkor utána ez adatokat mely változókban kapom vissza?

2017. febr. 15. 00:24
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!