C++ :: JPEGs Recovery From Forensic Image - Optimizing Code

Jan 21, 2013

I'm taking a CS course and we've been tasked with creating a program that recovers jpegs from a formatted CF card which uses the FAT file system with a block size of 512 bytes, the jpegs in the card are block aligned which means that the beginning of a jpeg marks the end of the former.

I've wrote the program and it works nicely and recovers the 51 jpegs in the CF card (actually just an image of some 4-5 megabytes of the actual card which can be downloaded here) but I'm looking for ways to optimize/improve my code so I need a second look from experienced programmers.

Here's my code:

Code:
/*
* filename : recover.c
* description : Recovers jpegs from a forensic image
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define BLOCK 512 // fat file system block size
int main(void) {
// open CF card image

[Code] .....

My questions are:
1) What are the possible optimizations that can make my code faster/better/more concise?
2) I'm not handling slack space, since trailing zeros at the end of a jpeg won't affect rendering it (we were told it won't contain any garbage values)... how may I approach the problem?
3) Can I enhance my if else constructs? or even replace them with something more elegant?

View 14 Replies


ADVERTISEMENT

C++ :: Not Able To Write JPEGs To File

Feb 2, 2015

I have written a tar program and now I can take files add them to a tarfile and extact them into another directory. The problem is that it doesn't work with jpegs. I imagine in it has to do with how I am reading and writing because it is a binary file. I have used "rb" "wb+" etc for accessing the files.

My code -

#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <errno.h>
#include <iostream>
#include <string.h>
#include <utime.h>
using namespace std;
struct stat sb;
typedef struct{

[Code] .......

View 3 Replies View Related

C :: Verified Code For Computing Fast Furrier Transform Of Image

Jun 9, 2013

i am looking for a verified code in simple c, for generating fft of an input image (.jpg). the output can be a text file including fft coefficients.can you recommend me any source except open-cv?

View 6 Replies View Related

C :: Program Which Recovers JPEGs From Raw File Of Memory Card

Mar 28, 2013

I am working on a c program which recovers jpeg files from .raw file of a memory card. My code is here-

Code:

#include<stdio.h>
#include<stdlib.h>
int main(void) {
File* inptr=fopen("card.raw","r")
if(inptr==NULL)

[Code]...

But while compiling it I get this error-

Makefile:2: *** missing separator. Stop.

View 2 Replies View Related

C++ :: Optimizing Timing Functionality?

Jan 18, 2013

I've written a timer function in c/c++, but it still has performance problems. how to optimize this further (atm works with delay to perform timing):

#include "headers/types.h" //Basic types!
#include "headers/timers.h" //Timer support function data!
#include "headers/emu/threads.h" //Thread for timer item!
//Timer step in ms! Originally 100ms
#define TIMER_STEP 10000

[code]....

View 3 Replies View Related

C/C++ :: Optimizing Word Generator?

May 25, 2014

Today I came across a problem that I've never had before and haven't thought about. Until now, The optimizing and speed in a program. I've created a small and very easy user input based "Word Generator" just to test and compare other programs.

I have compared my program to another program that works on the same concept that is programmed in C#. What I've heard is that C++ is one of the fastest languages, but still. The C# program I compared to was about 15 seconds faster when both generating 100 000 words.

optimize this program down below and describe what you've done.

#include <iostream>
#include <ctime>
#include <string>
#include "conio.h"

[Code]....

View 9 Replies View Related

C/C++ :: Optimizing Equation For Cases Of 0

Feb 19, 2015

I'm writing an algorithm on a microcontroller in C.

One of the iterations that takes a long time involves the following equation, summing the product of pairs of variables:

signed char VarA;
signed char VarA;
signed long VarA;
Total+=VarA*VarB;

The vast majority of cases, at least one of the variables VarA and VarB will be 0, so nothing will be added to Total.

Is there a way to check for this condition which might give me a performance increase over doing a lot of multiplying-by-zeros?

View 6 Replies View Related

C# :: Compare The Image Of A Button To Another Image In Visual Studio

Jul 3, 2014

Im trying to compare the image of a button to another image in Visual Studio like so...

//variables
Image active = Image.FromFile("C:\Users\Ethan\Desktop\StarWars Status\active.png");
Image stunned = Image.FromFile("C:\Users\Ethan\Desktop\StarWars Status\stunned.png");

[Code]...

btnStatusPlr1.Image SHOULD come back as True.Then I realized it might not be the same as setting the buttons image in the properties (Which is what i did to get the original image (the one being compared to))

I do have a feeling ive done something wrong here (Yes im a noob /> )

Variable active, is the same image as the buttons default (Well should be)

View 1 Replies View Related

C :: Print Out - Array Code And Pseudo Code?

Apr 15, 2013

I have assignment which requires me to print out and array code and a pseudo code. I dont no what a pseudo code is,.

View 2 Replies View Related

C++ :: Reducing Code Duplication From Common Code Calling Common Class

Apr 13, 2014

I have a class 'A' which is almost perfect for my needs. Class 'B' uses class 'A' I've now designed Class 'C' and Class 'D' and noticed that there is a good chunk of code in class 'B', 'C' and 'D' for using Class 'A' is duplicated. I've separated out this code in specific, standalone functions in each of the classes. Now I'm wondering where this code should go. At the moment, the functions are duplicated in the three calling classes (B, C and D). Placing the functions into class 'A' would break the single responsibility principle. Inheritance to add functionality would likely break both SRP and LSP. The one that seems that it may work is composition.

However, Is designing a complete class just for a few functions over kill?

Would it be valid for classes 'B', 'C' and 'D' to access both the new class 'E' (which would depend on A) and the old class 'A' (which would have to be the same instance as the instance in the new class 'E'), or should the new class 'E' provide sufficient functionality so that Classes B, C and D don't need to access Class A directly? It would seem that its then an incomplete interface of the original object with additional functionality (ie, incompatible) Or should I do it a completely different way?

View 4 Replies View Related

C++ :: Add Padding In BMP Image

Feb 1, 2015

I am working on pset4 in the CS50 online coarse. The goal is to resize a bmp image. I have it working except adding the padding back to new resized image. The image I am using uses 3 bites of padding. If the factor I resize the image by works out to have 3 bites of padding it works perfect and if the image has no padding it works perfectly I need a fresh pair of eyes. I am not sure how to add the images so here is the address to download the images and the skelton of the source code they gave to modify. [URL] .... The image that requires the padding is labled as small.bmp.

#include <stdio.h>
#include <stdlib.h>
#include "bmp.h"
int main(int argc, char* argv[]) {
// ensure proper usage
if (argc != 4)

[Code] .....

View 2 Replies View Related

C++ :: Run Image (GIF File) Through CMD

Apr 6, 2014

I would like to know if it possible to "run" an image through CMD.In other words i want that image to be opened on CMD.

BTW the image which i am more intrested is GIF files.

View 3 Replies View Related

C++ :: Image Not Showing On Top

Jul 1, 2013

I am trying to display images on top of my Background image gui, so like buttons an stuff but the problem is that there not showing ontop. I can only get one of them to show

// includes
#include <windows.h>
#include <stdio.h>
#include "res.h"

// defines
#define LWA_COLORKEY 0x00000001
#define LWA_ALPHA 0x00000002

[Code] ....

View 1 Replies View Related

C++ :: Displaying Image From Stream

Feb 24, 2013

I'm trying to display an image from a stream data. But there is no image when getting image::from stream.

It's my source code:

Code:
IStream* pstream = NULL;
if(SUCCEEDED(CreateStreamOnHGlobal(NULL, TRUE, &pstream))) {
ULONG lreal = 0;
pstream->Write(chIncomingDataBuffer, iEnd, &lreal );

[Code]...

There is no image from data.

View 5 Replies View Related

C :: Image Rotation Without Cropping

Nov 4, 2014

I am new to image processing..... and I am learning the concepts.

Recently I have done image rotation of grey scale image using the following formula:

x' = xcos(theta)-ysin(theta)
y' = xsin(theta)+ycos(theta)

The problem i have faced is image is getting cropped.

I want to rotate an image without cropping. I have searched a lot but I am not getting any algorithm based on C. How to get the algorithm for image rotation without cropping.

View 2 Replies View Related

C :: Editing Image In PPM Format

Mar 10, 2014

I'm trying to edit an image by multiplying the red component of each pixel by 10 and leaving the other components (green and blue) untouched. I'm not really sure how I'm supposed to edit the pixels one by one. I have this so far. I think there is something wrong with my ppm header as well. Is there a way to make a ppm header without specifying the bounds so that it conforms to the image you are putting in?

Code:

#include <stdlib.h>
#include <stdio.h>
#define PICTURE_FILE 1
#define MIN_ARGS 2
#define h 768
#define w 1024
void solve(FILE *in_picture, FILE *out_picture)

[Code] .....

View 6 Replies View Related

C :: Read A 24 Bit Image Using 2D Array

Oct 29, 2013

I am trying to read a 24 bit image but I'm getting errors when I'm tryting to read the pixels.

-The reading part looks bad because I'm reading both headers field by field. But I'm sure that it is reading both headers correctly.

-Right now my biggest concern is to get it to read successfully an entire bmp image

I'm using this calculation to get my padding bytes:

padding bytes = [4-(3*width)mod 4]mod 4

When I use a 2x2.bmp file to test it, I get an error that the [1][1] pixel was not read. When I use a bigger image it gives me the same error after about 100 rows and then every pixel is an error from that point on. This is what I got so far:

Code:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
const size_t cSizeofPixel = 3; //size of struct tPixel
typedef struct{
unsigned char blue;
unsigned char green;
unsigned char red;

[Code]...

I read this post Reading 24 bit BMP file into a 2d array.

I still don't know if my error is when I allocate memory to my 2d array, or if I'm doing the padding bytes wrong or if it is something else.

View 8 Replies View Related

C :: Printing A Circle In PPM Image

Oct 30, 2013

I'm supposed to print a small rectangle inside concentric circles that are inscribed in a rectangle.I'm not really sure where to start with printing a circle in a ppm file.

View 13 Replies View Related

C :: How To Display Image With Text

Mar 27, 2013

I'm pretty new to C, just looking to see how to display a image and some text to go along with it so far I can display in the image but cannot display the text at the same time.

This is my source code below

Code:

#include <stdio.h>
#include <gd.h>
int main() {
gdImagePtr gdImage = gdImageCreate( 100, 100 );

[Code]...

View 2 Replies View Related

C :: Mirroring Image Over Y Axis

Nov 30, 2014

how to do the mirror function? I have my other two working 100% but for some reason i cannot figure out how to do the mirror part. I want it to be like my flip function(lower code) where I can print the image through the for statement

Code:

int main (int argc, char *argv[]) {
// declarations here
// open input file
FILE *input;

[Code].....

View 1 Replies View Related

C :: Reading PPM Image Into 1D Or 2D Array

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

C :: Resize A Bitmap Image

Aug 22, 2014

I am trying to re-size a bitmap image for a class.They gave us two options to use to do the program with: an array or move the file position indicator. I want to use the file option. All the bitmap header info is checking out. The file after being re-sized should be 822 bytes but it is 1.6 KiB and the image is distorted.

Code:

#include <stdint.h>
/**
* Common Data Types
*
* The data types in this section are essentially aliases for C/C++
* primitive data types.

[Code]...

View 2 Replies View Related

C++ :: OpenGL - Draw On Top Of Image

Jun 22, 2014

This is my first time using opengl and I am experimenting with adding/drawing polygons/points/etc. on top of a PPM image. The image is already loaded when the application runs. My attempt to draw a square is from lines 30 - 35. The program runs but the square is not present. Just the image.

#include<windows.h>
#include <stdio.h>
#include <stdlib.h>
#include<Gl/gl.h>
#include<GL/glut.h>

int n;
int m;
int *image;

[Code] ....

View 5 Replies View Related

C++ :: Convert Image To Number

May 15, 2013

I want to convert image to number.

View 12 Replies View Related

C++ :: Use 3D Array To Create Image

Sep 16, 2014

My assignment is use a 3D array to create an image. Use an array of the form arr[300][200][3]. For this homework, you need to use an array of the form arr[3][400][500]. It will have 400 rows and 500 columns. You need to first initialize the array as described in class and after that write the array to a ppm image file. When viewed using Gimp, it should display USM. The letters would be 200 pixels high and 100 pixels wide each. Use at least 15 pixels for the width of the stroke. Use different colors for each letter and a different color for the background.This is what I have so far.

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

void initialize(unsigned char a[][200][3], int nrows, int ncols, int nc);
void printAll(unsigned char a[][200][3], int nrows, int ncols, int nc);

[code]....

View 3 Replies View Related

C++ :: Embed Image With Graphic?

Apr 16, 2014

How can some one embed image in C++ with graphic?

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved