greyscale bitmap σε διμερή

Z

zkai2000

Guest
Μπορεί κανείς να ολοκληρώσει το κωδικό για μένα;Μπορώ να πάρω περίπου την έννοια, αλλά εγώ ξέρω πώς να το γράψω περαιτέρω.είναι σχετικές με το RGB χρώματα ..
Χρειάζομαι μια τιμή για το όριο;
Πώς να διαβάσετε την είσοδο ** in_image;

Κωδικός:

void Threshold (int ** in_image, int x_max, int y_max, int κατώτατο όριο)

(

για (int x = 0? x <x_max? x )

(

για (int y = 0? y <y_max? y )

(

εάν (in_image [x] [y]> = κατώτατο όριο)

in_image [x], [y] = 255?

άλλος

in_image [x] [y] = 0?

)

)

)

 
sorry, here're κάποιες προσθήκες ..
η ** in_image είναι μια 2-D array για μια εικόνα ..
issit δυνατόν να τοποθετηθεί ένα bitmap σε μια σειρά;Πώς μπορώ να αλλάξετε το μέγεθος του πίνακα;
Πόσο μεγάλη είναι μια μονάδα του ενός πίνακα από το δρόμο;issit 8 bit;

thanks!

 
Ο κώδικας χρησιμοποιεί μια σειρά μεγέθους μονάδα του 1 byte = 8 bits.
Μπορείτε να το δείτε εδώ ": in_image [x] [y] = 255?"
Εάν πιστεύετε ο κώδικας είναι να μετατρέψει ένα greyscale bitmap σε ένα bitmap Monochrom.Το κατώτατο όριο καθορίζει το γκρίζο τιμή να αποφασίσουν αν ένα σημείο είναι μαύρο ή άσπρο (0 ή 255).

Η ελπίδα αυτή θα σας βοηθήσει.

 
Παράθεση:

Το κατώτατο όριο καθορίζει το γκρίζο τιμή να αποφασίσουν αν ένα σημείο είναι μαύρο ή άσπρο (0 ή 255).

 
Σίγουρα, είναι Οριακή τιμή.
Όπως έγραψα πριν, νομίζω ότι ο κώδικας μετατρέπει ένα greyscale bitmap σε ένα bitmap Monochrom.Σκεφθείτε ένα εικονοστοιχείο, το χρώμα (greyvalue) μπορεί να είναι από 0-μαύρο για 255-άσπρο και τα πάντα μεταξύ αυτού.Τώρα θέλετε να μετατρέψετε ένα bitmap σε κλίμακα του γκρι (είναι το ίδιο με ένα 2D-array) σε bitmap Monochrom, η eaysiest τρόπος είναι να πούμε τα πάντα για μια τιμή Χ (Threshold) είναι λευκό και όλα τα σημεία με λιγότερο από μια τιμή είναι μαύρο.
Ως παράδειγμα ένα Pixel έχει την τιμή των 150, το όριο είναι 160, αυτό σημαίνει τα πάντα πάνω από 160 γίνεται άσπρο και τα πάντα λιγότερο 160 γίνεται μαύρο.Στο παράδειγμά μας το Pixel θα γίνει μαύρη.

 
πότε εγώ καταρτίζονται τον κωδικό, παρήγαγε ένα "άλυτο εξωτερικοί" .. λάθος
ISIT σήμαινε ότι i havent πήρε καμία εισόδους και εξόδους;
αν επιστρέφει in_image [x] [y] = 255, έχει το καταλαβαίνω ότι είναι 8 bit, οι οποίες αντιπροσωπεύουν «μαύρο»;_Programmer

Thanks DR
_Programmer

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Πολύ Καλή" border="0" />
 
Μπορείτε να αντιγράψετε οποιαδήποτε εικόνα bitmap σε array χρησιμοποιώντας "fread», δηλαδή το αρχείο διαβάστε λειτουργία σε C / C .Επίσης μπορείτε να κινήσει τη σειρά για τη μεταβλητή μέγεθος εικόνας χρησιμοποιώντας διπλή δείκτες.Ενδέχεται να είστε δεν αρχικοποίησης της μεταβλητές που προκαλούν κάποιο λάθος.Επίσης προσπαθήστε mutiple κατώφλι ορίων για την εικόνα.

 
aasif,
u μπορεί να δείξει παράδειγμα χρήσης "fread";
Im χρησιμοποιώντας δείκτη σε δείκτη .. αλλά wat είναι πολλαπλές Thresholding από τον τρόπο;i dont get it ..

<img src="http://www.edaboard.com/images/smiles/icon_redface.gif" alt="Αμηχανία" border="0" />
 
Εδώ είναι ένα παράδειγμα κώδικα για fread ()

ΠΛΑΤΟΣ είναι Πλάτος Εικόνας
ΥΨΟΣ είναι Ύψος Εικόνας

unsigned char ImageIn [ΠΛΑΤΟΣ] [ΥΨΟΣ]?
m_sBitmap = "c: \ temp.bmp"? / / για παράδειγμα temp.bmp εικόνας
/ / m_sBitmap είναι ένα string που περιέχει το όνομα του αρχείου και τη διαδρομή,
FILE * fp? / / Pointer αρχείου
fp = fopen (m_sBitmap, "rb")? / / Άνοιγμα αρχείου για ανάγνωση
fread (κεφαλίδα, 1,0 x435, fp)? / / Αντιγραφή 0x435 bytes σε κεφαλίδα πίνακα
/ / Το μέγεθος του πίνακα κεφαλίδας είναι ίδια με 0x435
fseek (fp, 0x436, SEEK_SET)? / / Μετακίνηση αρχείου δείκτη για να ξεκινήσει δεδομένων εικόνας bitmap
fread (ImageIn, 1, width * height, fp)?
fclose (fp)?

Τώρα μπορείτε να επεξεργαστείτε ImageIn όπως εσείς επιθυμείτε.
Παρακαλώ πείτε κάτι που δεν καταλαβαίνετε.

 
aasif,
Issit τόσο εύκολο να διαβάσει μια εικόνα bmp;χρειάζομαι bitmap πληροφορίες ιεροτελεστία headers;RGB για τα χρώματα, τις διαστάσεις, το μέγεθος ... κλπ.
pls συμβουλεύει ~ ευχαριστώ!

 
είναι ότι μια κεφαλίδα του αρχείου για την ανάγνωση εικόνας bmp;
do u μυαλό μου δείχνει το όλο θέμα;την ανάγνωση ενός greyscale εικόνας bmp πηγαίο κώδικα ..

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />Ευχαριστώ πολύ!!

 
Bitmap αρχείο εικόνας περιέχει πληροφορίες κεφαλίδας στην αρχή, αφού αυτή είναι η πραγματική εικόνα των δεδομένων που αποθηκεύονται στο αρχείο.
Οι πληροφορίες κεφαλίδας περιέχει εικόνας πλάτος, ύψος, Αρ. χρώματα, bits ανά pixel και πιο σημαντική από τον συμψηφισμό των δεδομένων εικόνας από όπου τα πραγματικά δεδομένα εικόνας ξεκινά.

Νομίζω ότι ο κώδικας που έχω δημοσιεύτηκε στην προηγούμενη απάντησή μου είναι πολύ απλό και εύκολο να τρέχει, και δεν υπάρχει τίποτα σημαντικότερο αριστερά.

Έχω επιλέξει μια εικόνα 256 κλίμακας γκρι να ανοίξει εκεί, και την κεφαλίδα πληροφορίες για το είδος αυτών των εικόνων είναι μόνο 0x435 bytes.Έτσι, η τιμή αυτή έχω χρησιμοποιήσει τον κωδικό.

Πρώτη εκτέλεση αυτού του κώδικα και πες μου την έξοδο, τότε θα σας πω όλη την πληροφορίες κεφαλίδας για όλους τους τύπους εικόνων.

 
sorry aasif, im δεν πραγματικά καλή σε C

<img src="http://www.edaboard.com/images/smiles/icon_redface.gif" alt="Αμηχανία" border="0" />

.. είναι ότι ο κώδικας κεφαλίδα ή το πηγαίο κώδικα;από τον τρόπο, εγώ πρέπει να τοποθετήσετε την εικόνα μου σε μια σειρά.

.. um μπορώ να μετατρέψω την εικόνα σε δυαδική πρώτα;ή i που φέρονται σε μια σειρά πρώτα;

Έχω μια ανάγνωση κωδικό PGM εικόνα σχήμα.μπορώ να κάνω κάποια τροποποίηση για να κάνει το διαβάσετε bmp εικόνα;

 
Αυτή είναι η Souce κώδικα, δεν κεφαλίδας κωδικό.Νομίζω ότι είναι πολύ πολύ απλή, ακόμη και για αρχάριους.Πρώτη δοκιμάσετε τον κώδικα.Αντιγράψτε και τρέχει, τότε πες μου για το αποτέλεσμα.

Στην αρχή κάνει κάποια εικόνα του δείγματος, π.χ. ένα ορθογώνιο ή κύκλο σε λογισμικό Ζωγραφική, αποθηκεύστε την εικόνα ως 256 κλίμακας γκρι εικόνα bitmap.Ορισμός εικόνας πλάτος και ύψος.

Οι τέσσερις παράμετροι που απαιτούνται για την ανάγνωση εικόνας bitmap.Εικόνα πλάτος, ύψος, δεν.των χρωμάτων και των δεδομένων εικόνας offset.Γνωρίζοντας αυτούς τους τέσσερις παράμετροι που μπορείτε να διαβάσετε εύκολα οποιαδήποτε εικόνα bitmap.Όταν κάνετε τη δική σας εικόνα, να ορίσετε το πλάτος της εικόνας, το ύψος και μη.χρωμάτων.Έτσι, αντισταθμίζεται μόνο δεδομένα απαιτείται.Για 256 εικόνας κλίμακας γκρι τα στοιχεία που αντισταθμίζουν αξία είναι 0x435.Ως εκ τούτου, έχω χρησιμοποιήσει αυτήν την τιμή.για παράδειγμα, το πλάτος και το ύψος της εικόνας "c: / temp.bmp" είναι 100.χρησιμοποιήστε τον ακόλουθο κώδικα.

unsigned char ImageIn [100] [100]?
unsigned char header [0x435]?
FILE * fp?
fp = fopen ( "c: \ temp.bmp", "rb")?
fread (κεφαλίδα, 1,0 x435, fp)?
fseek (fp, 0x436, SEEK_SET)?
fread (ImageIn, 1, width * height, fp)?
fclose (fp)?

Τώρα είναι αντιγραφή δεδομένων εικόνας για να ImageIn [] [] array.

Εκτελέστε τον κωδικό σας και πείτε μου την έξοδο.

 
ο κώδικας είναι σε ιεροτελεστία C;Δεν C ;Δεν έχω μάθει C β4 ..

<img src="http://www.edaboard.com/images/smiles/icon_redface.gif" alt="Αμηχανία" border="0" />i συνέταξε ο κώδικας, αλλά πήρε πολλά λάθη με αυτό.Πρέπει να δηλώσει ή να προετοιμαστεί ιεροτελεστία κάτι;

 
function and use the code there.

Ναι ο κωδικός σε C, αλλά απλώς χρησιμοποιούν κύριο ()
λειτουργία και χρήση του κώδικα εκεί.Έχω ένα σχέδιο για το δείγμα.Αν έχετε ακόμα λάθη τότε θα το δώσω.Ένα simle αρχείο C που μπορεί να διαβάσει, να επεξεργάζονται και να γράψει ένα νέο αρχείο bitmap.Αλλά νομίζω ότι αν εσείς προσπαθείτε πρώτη, τότε θα είναι πιο χρήσιμο για σας στο μέλλον.

 
Έχω μελετήσει τη δομή του αρχείου bmp, αλλά εγώ ξέρω πραγματικά πώς να εφαρμόζουν τα πάντα σε C / τρόπος προγραμματισμού ..

Έχω καταφέρει να πάρει μερικά κώδικες δείγμα από την ανάγνωση ενός αρχείου bmp, έγραψα έστω και ένα (με malloc αλλά με σφάλμα: επίκλιση ανάγνωση / άνοιγμα του αρχείου) .. Ισως χάρη κηρύξει μια κεφαλίδα για τη μορφή bmp;;

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />

.. γιατί issit φαίνεται τόσο περίπλοκη σε σύγκριση με ur κωδικό;

u δεν χρειάζεται να προετοιμαστεί και να δηλώσει οποιαδήποτε κεφαλίδα για ur κώδικα σε C?

im ΟΣΟ ανησυχούν ότι η κα κώδικας πρότεινε επίκλιση αντιμετωπίσουν το επόμενο βήμα της προόδου i coz μου πρέπει να εφαρμόζονται ορισμένες κατευθύνσεις και ταιριάζουν αλγόριθμοι αργότερα ... μπορεί να είναι;

 
Κωδικός μου είναι μόνο για ανάγνωση ένα απλό αρχείο bitmap των γνωστών πλάτος, ύψος και χρώματα.Η αντιστάθμιση είναι επίσης γνωστό.Ως εκ τούτου, δεν απαιτεί καμία κεφαλίδα.Όταν εκτελέσετε επιτυχώς τον κώδικα, το επόμενο βήμα θα είναι να επεκτείνει τον κώδικα σε όλα τα αρχεία.Σε αυτό το στάδιο θα χρειαστεί κεφαλίδα του αρχείου, αλλά δεν είναι τώρα.

 
μα εγώ ξέρω πώς να το εκτελέσει δεν κεφαλίδες .. έχω λάθη, όπως η αδήλωτη αναγνωριστικά για fread, fseek, κλπ. .. αφού έχω τρέξει.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />btw, η κα SPIE ανέφερε ότι σχετίζονται με την ιατρική απεικόνιση;!!U'RE ενδιαφέρονται για αυτά;

 
@ zkai2000:
Παράθεση:

Έχω σφάλματα παρόμοια με την αδήλωτη αναγνωριστικά για fread, fseek, κλπ. .. αφού έχω τρέξει
 

Welcome to EDABoard.com

Sponsor

Back
Top