Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int nalaziSeUDetekciji(int row1[], int col1[], int row2[], int col2[], int ROW, int COL, int N){
- for(int i = 0; i < N; i++)
- if(ROW >= row1[i] && ROW <= row2[i] && COL >= col1[i] && COL <= col2[i]){
- if(COL == col1[i] || COL == col2[i] || ROW == row1[i] || ROW == row2[i])
- return 1;
- else if(ROW < row1[i] || ROW > row2[i] || COL < col1[i] || COL > col2[i])
- return 2;
- }
- return 0;
- }
- void ucitajPolje(int *polje, int H, int W, FILE * fin, int stanje){
- for(int i = 0; i < H; i++)
- for(int j = 0; j < W; j++){
- if(stanje == 0) fscanf(fin, " %d", &(*((polje+i*W) + j)));
- else *((polje+i*W) + j) = 255;
- }
- }
- void main(){
- int N, H, W;
- FILE* fin = fopen("input.txt", "r"); /// INPUT DATOTEKA
- fscanf(fin, "%d %d %d", &N, &H, &W);
- int row1[N], col1[N], row2[N], col2[N];
- for(int i = 0; i < N; i++)
- fscanf(fin, "%d %d %d %d", &row1[i], &col1[i], &row2[i], &col2[i]);
- int R[H][W], G[H][W], B[H][W], A[H][W];
- ucitajPolje(R, H, W, fin, 0);
- ucitajPolje(G, H, W, fin, 0);
- ucitajPolje(B, H, W, fin, 0);
- ucitajPolje(A, H, W, fin, 1);
- for(int i = 0; i < H; i++)
- for(int j = 0; j < W; j++){
- int detekcijaStanje = nalaziSeUDetekciji(row1, col1, row2, col2, i, j, N);
- if(detekcijaStanje == 1){
- R[i][j] = 0;
- G[i][j] = 255;
- B[i][j] = 0;
- } else if(detekcijaStanje == 2) A[i][j] = 127;
- }
- FILE* fout = fopen("output.txt", "w"); /// OUTPUT DATOTEKA
- fprintf(fout, "/image %d %d RGBA\n", H, W);
- for(int i = 0; i < H; i++)
- for(int j = 0; j < W; j++)
- fprintf(fout, "%d %d %d %d ", R[i][j], G[i][j], B[i][j], A[i][j]);
- fclose(fin);
- fclose(fout);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement