C :: Reading PPM Image Into 2 Dimensional Array
Nov 29, 2014
I'm trying to read a PPM image into an array. The header will have already been read in and I'm trying to put in a 2-d array to make manipulations easier. This is the code I have so far with LOTS of errors and warnings and I honestly don't know what almost any of them mean.
Code:
int imageArray( FILE *input, struct pixel *theArray ){
int i, j;
int col, row;
int *imageArray = (int**)malloc(row * sizeof(int*));
for(i=0; i<row; i++){
[Code]...
View 3 Replies
ADVERTISEMENT
Apr 4, 2013
I have an assignment where I need to take an assigned image, rotate it 90 degrees to the right, flip it upside down, and turn it to grayscale; each with different outputs.
I was thinking if I can read in the image into a 2d array //array[height][width] or even just an array with the values of each pixel (r, g, b), I can just modify the array and spit it out when done.
if i can just get it into the array, I think I'll be fine. We've done similar assignments with modifying arrays for grayscale images and the other two I can probably figure out. But how am I going to read in each pixel into an array with three different values in each slot? This is my code so far:
Code:
#include<stdio.h>
View 1 Replies
View Related
Jul 31, 2013
How can I concatenate two 2-dimensional int arrays into one larger 3-dimensional array. This question is also valid for the 3-dimensional vectors. I know the command for the one dimensional vector as:
std::vector<int> results;
results.reserve(arr1.size() + arr2.size());
results.insert(results.end(), arr1.begin(), arr1.end());
results.insert(results.end(), arr2.begin(), arr2.end());
and for the one dimensional array as:
int * result = new int[size1 + size2];
copy(arr1, arr1 + size1, result);
copy(arr2, arr2 + size2, result + size1);
But I do not know how to make a 3-dimensional array or vector.
View 3 Replies
View Related
Jan 17, 2014
I had a hard question in my C++ final exam and I'm trying to solve it for the last 3 days. I haven't succeded yet! Here is the question: You have a one-dimensional array A[20]={1,2,3,4,...,20} and B[5][4] you have to assign the A array's elements to the B array but there is an order which is: B[5][4] = { { 12, 9, 11, 10 }, { 14, 7, 13, 8 }, { 16, 5, 15, 6 }, { 18, 3, 17, 4 }, { 20, 1, 19, 2 } } and there is a restriction: you can only use ONE for statement, nothing else!
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int A[20] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20 }; // define A array's elements.
int B[5][4] = { 0 }, k = 1; // define B array and k counter.
[code]....
I can't narrow the statements to one,This program works perfectly but it shouldn't be that long, we need ONLY ONE FOR statement, not two!
View 2 Replies
View Related
Sep 30, 2013
How to read an image in C++ ...
All what i know that i may use a Cimage library but it doesn't really work or to read the image from a file ....
View 4 Replies
View Related
Mar 19, 2014
is it allowed to to like this:
char a[10] = "Lizard";
char b[2][5];
b[0][0] = a[0];
b[0][1] = a[1]; etc?
View 1 Replies
View Related
Sep 2, 2013
I have a 3D array that contains 200 strings. I'm trying to copy all these strings into a 2D array. How can this be done? This is what I have so far but it isn't working correctly.
Code:
for(int i = 0; i < row; i++) {
for (int j = 0; j < col; j++)
{
dest[i][j] = source[0][i][j];
} }
The finished product would be with 100 rows, 2 columns.
View 4 Replies
View Related
Aug 30, 2013
convert an one dimensional array into a two dimensional array and print like a matrix.
input: 34 50 2 4 90 33 7 80 9
output: A is a 3x3 matrix
34 50 2
4 90 33
7 80 9
View 12 Replies
View Related
Dec 7, 2014
I am attempting to read a ppm file. When i do it i try to write it back in another file just to see how's done and i get a terrible result. I assume the problem is something with the casting i do to the variables.
This is my image class
Image:: Image(unsigned int width, unsigned int height, bool interleaved) {
buffer = new Component [3*width*height];
this->height=height;
this->width=width;
this->buffer=Component();
[Code] .....
View 4 Replies
View Related
Apr 26, 2013
I have a jpg file. I have extracted the width and the length of the image. I have done that with some codes and markers. Now I need the image data starts as from that place i would like read the data and print the pixel value. I would like to display the pixels later.
View 2 Replies
View Related
Apr 10, 2013
I need to know about image processing whether it can be done using C /c++ as I am not familiar with MATLAB. I have attached one image. The arrow in the image show the indented circular portion. I need to crop out only the portion inside the indented portion. I think there should be a sharp difference in gradient intensity in pixel at the indented portion. Is it possible to extract that portion out by reading the binary image?
View 2 Replies
View Related
Apr 3, 2012
I have this image/video compression project that is to be done in C. I've been given this source code by my supervisor which is supposed to be a working one.
Assuming I have a sequence of 5 images in .pgm format (image41.pgm, image42.pgm .... image45.pgm). Some of the code involved is
Code:
#define START_FRAME 41
#define END_FRAME 45
#define SKIP_FRAME 1
#define INPUT_STRING "/home/folder/image%03d"
int main(){
int frameNo = START_FRAME
nx=1920, ny=1080;
char fileName[128];
[Code] ....
When I tried to compile the code using make file (shell script), I got this error message "In function 'readPgm' format '%d' expects argument of type 'int *', but argument 3 has type 'unsigned char *' "
Can identify what the problem is and how to rectify it?
View 10 Replies
View Related
Jan 10, 2015
Write a program using user-defined function which accepts an integer array and its size as arguments and assign the elements into a two dimensional array of integers in the following format: If the array is 1,2,3,4,5,6, the resultant 2D array is
1 2 3 4 5 6
1 2 3 4 5 0
1 2 3 4 0 0
1 2 3 0 0 0
1 2 0 0 0 0
1 0 0 0 0 0
View 1 Replies
View Related
Apr 20, 2013
I was able to get the max to work but I cant get the min. it returnning something like -125863456.
Code:
int maxx(int a[][10]);
int minn(int a[][10]);
int main(void){
int array[][10] = { { 2, 7, 6, 8, 4}, {3, 9, 1, 5, 6} };
int max1, min1;
[Code] .....
View 3 Replies
View Related
Oct 25, 2013
I want to make a program that asks the user for a message and then print out a large graphic of that message. For example, if the user types "he" I want to print out
H..................H EEEEEEEEE
H..................H E
H..................H E
H..................H E
HHHHHHHHHH EEEEEEEEE
H..................H E
H..................H E
H..................H E
H..................H EEEEEEEEE
(treat the periods as spaces. I only put them there because it wouldn't separate the H's correctly.)
I will loop this to continue until the user types quit.
1. How would I set this up to store the user input characters into an array?
2. How would I print out the stored data in the shape of the word?
View 4 Replies
View Related
Dec 19, 2014
Is it possible to create an 8 dimensional array in C? If no, then what can I do to improvise or let say bypass the limit?
View 7 Replies
View Related
Oct 21, 2014
Consider the following code snippet:
GLfloat box[4][4] = {
{ x2, -y2, 0, 0 },
{ x2 + w, -y2, 1, 0 },
{ x2, -y2 - h, 0, 1 },
{ x2 + w, -y2 - h, 1, 1 },
};
Do I need to call a variant of
delete [] box;
Against this float array?
View 1 Replies
View Related
Apr 1, 2013
int sum(int (*ar2)[4], int size);
// I dont know what the ar2 is going on
int main(){
int data[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int total = sum(data, 3)
return 0;
}
View 4 Replies
View Related
Jan 9, 2014
Here is what I have, I have a 1D Array being added to a 2D Array and I need to Sort them by value value 3 in the 2D Array, while maintaining a specific amount. Here is what I have so far:
public static void CheckHS(string[] HS) {
try {
GeneralData.HighScores[10, 0] = "11";
GeneralData.HighScores[10, 1] = HS[1];
GeneralData.HighScores[10, 2] = HS[2];
GeneralData.HighScores[10, 3] = HS[3];
//Need Sort Data - Bubble Sort?
}//end Try
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
I am thinking bubble sorting but I remember reading about something faster. Unfortunately I can't find it on the web. The idea is that there will be always 10 Values and 4 Columns on the 2D Array. [The 11th Row being empty at the end of it.
View 14 Replies
View Related
Apr 24, 2013
I want to create 4 dimensional array, in that first three dimenstional are fixed size and the final index will be on 0 to N-numbers.
E.g., double array[500][25][10][<NOT FIXED>].. So I cant create statically, because the index size are more. Also I have tried 4 dimenstional vector, but its giving 2 problem.
(i) I am storing 4th dimenstion size is more than vector[0][0][0].max_size()
(ii) Storing and Retrieving its more time in vector
So, any other solution to store large array which is 3 index is FIXED and final one is not FIXED?
View 16 Replies
View Related
Feb 26, 2012
i created a program which uses Sparse 2 dimensional array, but i am not sure if i did it in the right way .
this is the instruction i have:
Create a constructor and a destructor. The constructor should take as input the size of the array (consider only square NxN arrays, so only one dimension is needed) and the thickness of the ribbon. To make this precise, if supplied with a thickness parameter t, you may assume that the element [0,t] (i.e. the (t+1)-th element of the first row) is where the useless area begins on the right. Similarly, the element [t,0] is where the useless area begins on the left. The border of the useless areas moves diagonally down and to the right, i.e. it consists of [1,t+1],[2,t+2],... and [t+1,1],[t+2,2],... The above example has thickness 3.
The space for the 2-d array should be dynamically allocated and must be large enough to fit the useful data only.Create methods for random read and write access to the array as in the case of 1-d arrays.Overload the [] and << operators, as in the case of 1-d arrays. Think carefully about what the [] operator should return and how it should work. Ideally we would like this to behave in a manner similar to standard 2-d arrays (i.e. accessing elements in the normal way, like x[5][6]).
View 3 Replies
View Related
Jan 9, 2015
This code shows a loop inside a loop initializing a two-dimensional array named arr with elements [2] and [5]. Here's my code:
Code:
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
[Code]....
Now, what I wanted to do is to have an output showing the sums of each elements. Example, the above code has an output of:
1 2 3 4 5
6 7 8 9 10
I wanted to have more codes which would add up the elements 1 + 6, 2 + 7, 3 + 8, 4 + 9, 5 + 10 and produce and output:
7 9 11 13 15
View 8 Replies
View Related
Jan 12, 2015
I have a 10x10 array, initialized to all zeros. I create 2 random numbers for the purpose of guessing a position in the array.
However, when I print the array, the 0,0 spot keeps shifting to match the 2nd random number generated. Is there something strange about the 0,0 spot?
Here is my code:
Code:
seedrnd();
for (x=0;x<2;x++) {
randArray[x]=rnd(10);
}
for (x=0;x<2;x=x+1)
[Code] .....
The 2nd to last print statement actually prints randColumn. The last print statement correctly prints 0.
View 7 Replies
View Related
Feb 28, 2013
I am inserting elements from two files into 2-D arrays.Suppose I have generated this kind of code to create 2-D array:
Code:
main() {
int counter;
int divide=5, m1=0, l1=20, window=20;
for(counter=0;counter<divide;counter++){
for(i=m1,j=0;i<l1;i++,j++){
}
[code]....
Now after generating 2D array, if I want to shift last 2 elements from windata[counter] or winquery[counter] where counter=0 to the beginning of counter 1 and subsequently last two from counter 1 to counter 2 in this fashion, how can I do that.
View 4 Replies
View Related
Apr 11, 2014
I am working on an assignment for class: Create a program that allows a user to enter up to 10 addresses of friends. Use a two dimensional array to store the address of friends. After each address is entered, the user should have the option to enter another address or print out a report that shows each addresses entered thus far. I have created a code that is coming up without errors, but i am not getting the desired results.
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main ()
{
char name[10][10] = {0};
char address[10][10]= {100};
int choice;
[Code]....
My trouble is coming from the the output. I am able to fill the array but i am not able to print my desired results. Where am I losing it in the loop? Also after my first entry if i have space in the "address" input the program prints and ends.
View 6 Replies
View Related
Feb 1, 2013
I have a very simple program here, and somehow I can't get it to print out a two-dimensional array. Here's my code:
Code:
#include <stdio.h>
#define MAX_PEOPLE 100
char display_table(int table[MAX_PEOPLE][MAX_PEOPLE], int n);
int main (void) {
int n = 5;
char names[MAX_PEOPLE][4] = {"Ami", "Bob", "Cal", "Dan", "Ion"};
[Code]...
and here's how the printed table should look like when i run the program:
Code:
|Ami Bob Cal Dan Ion
--- --- --- --- --- ---
Ami| 0 1 1 1 0
Bob| 0 0 1 0 0
Cal| 0 0 0 0 0
Dan| 1 0 1 0 1
Ion| 0 1 1 1 0
View 3 Replies
View Related