Volg de onderstaande video samen om te zien hoe u onze site kunt installeren als een web-app op uw startscherm.
Notitie: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Ik heb 3 katten, maar het veranderd er toch niks aan als je terug komt. Dood gaat hij/zij toch wel.
Misschien ben ik wat harder daarin, of beter gezegd minder gevoelig in dat opzicht. Ik zou denk ik alleen voor 1e lijns familie terugkomen (dan nog afhankelijk van wie). Verder voor niets of niemand..

Als het diertje het kan overleven tot na de vakantie zonder pijn. Zou ik even wachten. Maar is het zo ernstig dat het diertje ingeslapen moet worden zou ik toch wel even bellen. Zou toch echt niet van gediend zijn als ik bij thuiskomst te horen krijg.. ja sorry hondje dood maar wou je er niet mee lastig vallen.

Katten kan ik begrijpen, daar heb je imo een compleet andere band me als en hond.
Maar denk dat je dat pas ziet wanneer je een hond hebt,... vroeger ook altijd heel raar gevonden dat mensen zoveel om en beest konden geven![]()
Stroomstoring vannacht, nu net pas weer internets.
@Kevinson, de opdracht is de paper van Vincent
Hoe debug ik trouwens C++? Ben nu wel lekker aan het proggen met gedit en dan aan het faggen in m'n terminal, maar wanneer ik 'n runtime error krijg als 'Segmentation fault' heb ik dus echt geen idee waar ik moet gaan kijken in m'n code. Dat is net zoveel zeggend als 'DOET UT NIET'.
Haha ik vind het wel een mooi verhaal eigenlijk
---------- Post toegevoegd 8 August 2013 om 15:31 ----------
Hmm wederom niet mee eens, heb een hond gehad en eenmaal uit je leven ben je ze zo vergeten. Niet anders dan met katten. Maar met beiden kun je een enorm goede band opbouwen, dat sowieso.
nope,.. verschillen we heel veel in,.. heb 2 katten (of liever gezegd mijn ouders toen) gehad voeger,. beesten zijn leuk, maar eigenwijs, luisteren niet of nauwelijks,.. etc etc,..
En hond daarentegen is er echt voo zijn baasje.
tuurlijk kun je ook met een kat een band opbouwen,... maar imo compleet anders,.. en dat zou voor mij niet een band zijn om voor terug te komen van vakantie,.. itt die met een hond

Ja wellicht komt dat omdat je de katten niet zelf hebt kunnen opvoeden. Alle 3 zijn van mij en heb ik zelf op kunnen voeden. Knip in de vingers en ze luisteren. Net zo goed als ik naar hun kan luisteren op het moment dat ze aandacht/vreten/whatever willen. Dus je kunt imo zeker net zo'n goede band opbouwen met een kat, mits je deze net als de hond zelf op kunt voeden. Katten zijn wat dat betreft heel eigenwijs en luisteren niet naar jan en alleman, waar een hond vaak wel de neiging heeft om naar alles met een hogere rang te luisteren, kan de kat echt zoiets hebben van whahaha wie ben jij dan roflol ik ga lekker door met klieren en doen wat van baasje niet mag![]()


Zou kunnen, maar betwijfel het,... heb er gewoon minder mee
Wat wél een heeeeel groot pluspunt is, is dat je niet door de regen hoeft om ze uit te laten![]()
![]()
Ik heb dan weer veel minder met honden. Ze stinken en je moet ermee naar buiten, zo vaak mogelijk het liefst. En ja je kunt ze wassen, maar toch stinken ze nog 
de dokter die tegen me oma durft te zeggen dat ze moet gaan hardlopen omdat ze buiten adem is na een klein afstandje lopen.
me oma is over de 70, heeft verschillende ziektes en ziet bijna geen zak meer. yea sure hardlopen


Ja dat kan natuurlijkIk heb dan weer veel minder met honden. Ze stinken en je moet ermee naar buiten, zo vaak mogelijk het liefst. En ja je kunt ze wassen, maar toch stinken ze nog
Maar ik zou voor beiden niet terug komen van vakantie zoals eerder gezegd.
---------- Post toegevoegd 8 August 2013 om 15:44 ----------
Fijne dokter!
Weet meteen waar de term hardlopers zijn doodlopers vandaan komt![]()

die vent is zon debiel, als je daar met een gebroken arm aankomt waar et bot van uitsteekt durft tie nog gerust te vragen: "wat denk je dat je zelf hebt"
gelukkig krijgen we twee nieuwe dokters
Nope, ik mocht zelf wat verzinnen. Heb nu alles herschreven en de globals etc. de deur uitgeflikkerd zodat m'n docent blij is. Echter blijf ik met hetzelfde probleem zitten nu ik gewoon met pointers ed. werk (heb een mask en marker met dezelfde dimensies gehanteerd, zoals m'n docent 'verwachtte').Dem powers.
Oh dus gewoon die shit implementeren. Is er niets gezegd over die marker/mask? Dus dat je bepaalde afbeelding met gebruiken om te testen of zo?
./seq_constr
Marker and image set
Sequential reconstruction initiated.
Sequential reconstruction completed.
seq_constr: malloc.c:2451: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Writing reconstruction to file initiated.Aborted (core dumped)
#define CV_NO_BACKWARD_COMPATIBILITY
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace cv;
int get_min(int a, int b) {
return (1/2) * abs(a + b) - (1/2) * abs(a - b);
}
/*
* Returns true when stability is reached, i.e. when the two Mats are equal.
*/
bool stability_reached(Mat* prev, Mat* marker) {
Mat diff = *prev != *marker;
return countNonZero(diff) == 0;
}
/*
* Iterates over the neighbourhood of a point p, retrieving the local max.
* When bool neighbourhood is true, it iterates over all neighbours of p which are reached
* before p during a raster scanning of the image and when set to false, iterates over
* all neighbours of p which are reached after p.
* (Ng+(p) and Ng-(p) respectively, as described by L. Vincent [1993]).
*/
int get_local_max(Point p, bool neighbourhood, Mat* marker, Size* se_size) {
int max = (*marker).at<uchar>(p),
offset = -1;
if(neighbourhood) { // Ng+(p)
for(int i = p.y; i >= p.y - (((*se_size).height - 1) / 2); i--, offset++) {
for(int j = p.x + offset; j >= p.x - (((*se_size).width - 1) / 2); j--) {
if((*marker).at<uchar>(j, i) > max)
max = (*marker).at<uchar>(j, i);
}
}
}
else { // Ng-(p)
for(int i = p.y; i <= p.y + (((*se_size).height - 1) / 2); i++, offset++) {
for(int j = p.x - offset; j <= p.x + (((*se_size).width - 1) / 2); j++) {
if((*marker).at<uchar>(j, i) > max)
max = (*marker).at<uchar>(j, i);
}
}
}
return max;
}
/*
* Performs a sequential scan in either raster or anti-raster order.
* Retrieves the local max(p) of the marker, and then determines the minimum of
* both max(p) and mask(p).
*/
void seq_scan(Mat* mask, Mat* marker, Size* se_size, bool raster) {
if(raster) {
for(int y = 1; y < (*mask).rows; y++) {
for(int x = 0; x < (*mask).cols; x++) {
int max = get_local_max(Point(x, y), true, marker, se_size);
(*marker).at<uchar>(x, y) = get_min(max, (*mask).at<uchar>(x, y));
}
}
}
else {
for(int y = (*mask).rows - 1; y > 0; y--) {
for(int x = (*mask).cols - 1; x >= 0 ; x--) {
int max = get_local_max(Point(x, y), false, marker, se_size);
(*marker).at<uchar>(x, y) = get_min(max, (*mask).at<uchar>(x, y));
}
}
}
}
/*
* Performs morphological reconstruction applying sequential algorithm as proposed by L. Vincent (2003)
*/
void seq_reconstruct(Mat* mask, Mat* marker, Size* se_size, bool raster) {
Mat prev;
printf("Sequential reconstruction initiated.\r\n");
do {
prev = *marker;
seq_scan(mask, marker, se_size, raster);
seq_scan(mask, marker, se_size, !raster);
} while(!stability_reached(&prev, marker));
printf("Sequential reconstruction completed.\r\n");
}
int main(int argc, char** argv) {
Mat mask, marker;
Size se_size(3, 3); // Structuring element; should be of size (n*2 + 1, n*2 + 1), with n >= 1.
bool raster = true; // True = raster order, false = anti-raster order.
// Read mask and marker
if((mask = imread("mask.jpg", 0)).data == 0 || (marker = imread("marker.jpg", 0)).data == 0)
return -1;
printf("Marker and image set\r\n");
// Perform sequential reconstruction.
seq_reconstruct(&mask, &marker, &se_size, raster);
printf("Writing reconstruction to file initiated.");
imwrite("reconstructed.jpg", marker);
printf("Writing reconstruction to file completed.");
return 0;
}
Die krijg je cadeau? Die nieuwe dokters?
Srsly als ik een knurft van een dokter heb, ga ik zelf wel een nieuwe zoeken.. Je betaald je het ongans in dit land voor medische zorg.. Het gaat er bij mij dan echt niet in dat mijn dokter niet snugger genoeg is of niet naar mij wil luisteren.
Nope, ik mocht zelf wat verzinnen. Heb nu alles herschreven en de globals etc. de deur uitgeflikkerd zodat m'n docent blij is. Echter blijf ik met hetzelfde probleem zitten nu ik gewoon met pointers ed. werk (heb een mask en marker met dezelfde dimensies gehanteerd, zoals m'n docent 'verwachtte').
Ik roep seq_reconstruct aan die alle magie uitoefent, dit gaat allemaal goed, maar direct de eerst volgende statement die ik uitvoer die iets zinnigs doet ('n printf werkt nog wel, maar 'n imread, of iets anders niet), resulteert in:
Dit is mijn code:Code:./seq_constr Marker and image set Sequential reconstruction initiated. Sequential reconstruction completed. seq_constr: malloc.c:2451: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed. Writing reconstruction to file initiated.Aborted (core dumped)
Code:#define CV_NO_BACKWARD_COMPATIBILITY #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include <stdlib.h> #include <stdio.h> #include <iostream> #include <fstream> using namespace cv; int get_min(int a, int b) { return (1/2) * abs(a + b) - (1/2) * abs(a - b); } /* * Returns true when stability is reached, i.e. when the two Mats are equal. */ bool stability_reached(Mat* prev, Mat* marker) { Mat diff = *prev != *marker; return countNonZero(diff) == 0; } /* * Iterates over the neighbourhood of a point p, retrieving the local max. * When bool neighbourhood is true, it iterates over all neighbours of p which are reached * before p during a raster scanning of the image and when set to false, iterates over * all neighbours of p which are reached after p. * (Ng+(p) and Ng-(p) respectively, as described by L. Vincent [1993]). */ int get_local_max(Point p, bool neighbourhood, Mat* marker, Size* se_size) { int max = (*marker).at<uchar>(p), offset = -1; if(neighbourhood) { // Ng+(p) for(int i = p.y; i >= p.y - (((*se_size).height - 1) / 2); i--, offset++) { for(int j = p.x + offset; j >= p.x - (((*se_size).width - 1) / 2); j--) { if((*marker).at<uchar>(j, i) > max) max = (*marker).at<uchar>(j, i); } } } else { // Ng-(p) for(int i = p.y; i <= p.y + (((*se_size).height - 1) / 2); i++, offset++) { for(int j = p.x - offset; j <= p.x + (((*se_size).width - 1) / 2); j++) { if((*marker).at<uchar>(j, i) > max) max = (*marker).at<uchar>(j, i); } } } return max; } /* * Performs a sequential scan in either raster or anti-raster order. * Retrieves the local max(p) of the marker, and then determines the minimum of * both max(p) and mask(p). */ void seq_scan(Mat* mask, Mat* marker, Size* se_size, bool raster) { if(raster) { for(int y = 1; y < (*mask).rows; y++) { for(int x = 0; x < (*mask).cols; x++) { int max = get_local_max(Point(x, y), true, marker, se_size); (*marker).at<uchar>(x, y) = get_min(max, (*mask).at<uchar>(x, y)); } } } else { for(int y = (*mask).rows - 1; y > 0; y--) { for(int x = (*mask).cols - 1; x >= 0 ; x--) { int max = get_local_max(Point(x, y), false, marker, se_size); (*marker).at<uchar>(x, y) = get_min(max, (*mask).at<uchar>(x, y)); } } } } /* * Performs morphological reconstruction applying sequential algorithm as proposed by L. Vincent (2003) */ void seq_reconstruct(Mat* mask, Mat* marker, Size* se_size, bool raster) { Mat prev; printf("Sequential reconstruction initiated.\r\n"); do { prev = *marker; seq_scan(mask, marker, se_size, raster); seq_scan(mask, marker, se_size, !raster); } while(!stability_reached(&prev, marker)); printf("Sequential reconstruction completed.\r\n"); } int main(int argc, char** argv) { Mat mask, marker; Size se_size(3, 3); // Structuring element; should be of size (n*2 + 1, n*2 + 1), with n >= 1. bool raster = true; // True = raster order, false = anti-raster order. // Read mask and marker if((mask = imread("mask.jpg", 0)).data == 0 || (marker = imread("marker.jpg", 0)).data == 0) return -1; printf("Marker and image set\r\n"); // Perform sequential reconstruction. seq_reconstruct(&mask, &marker, &se_size, raster); printf("Writing reconstruction to file initiated."); imwrite("reconstructed.jpg", marker); printf("Writing reconstruction to file completed."); return 0; }
Ah zie dat die er weer terug in was geslopen, had hem tijdelijk zo gezet inderdaad. Goed gespot. Krijg namelijk deze error als ik bij rij 0 begin:Hoewel dit niet het probleem is: je skipt bij seq_scan rij 0 (pas je local_max daar aan aan, daarom zette ik dat expliciet als comment bij die code die ik gaf).
./seq_constr
Marker and image set
Sequential reconstruction initiated.
*** glibc detected *** ./seq_constr: double free or corruption (out): 0x00000000007d4b70 ***
======= Backtrace: =========
die bespaar ik je


(...)
x: 154, y: 99
x: 155, y: 99
x: 156, y: 99
x: 157, y: 99
x: 158, y: 99
x: 159, y: 99
x: 160, y: 99
x: 161, y: 99
x: 162, y: 99
x: 163, y: 99
*** glibc detected *** ./seq_constr: double free or corruption (out): 0x0000000001f95b70 ***
Ah zie dat die er weer terug in was geslopen, had hem tijdelijk zo gezet inderdaad. Goed gespot. Krijg namelijk deze error als ik bij rij 0 begin:
Code:./seq_constr Marker and image set Sequential reconstruction initiated. *** glibc detected *** ./seq_constr: double free or corruption (out): 0x00000000007d4b70 *** ======= Backtrace: ========= die bespaar ik je
Zal wel iets met de borders te maken hebben, echter weet ik van eerder dat ik gewoon negatieve coordinaten van punten kon lezen (en dan las ie die alszijnde 255; wit).
Eeuwige karma overigens, heb meer aan jou dan aan m'n docent
Edit: ragt in raster order gewoon lekker door t/m het einde (heb 'n afbeelding van 164x100, dus 163x99 is de grens beginnend vanaf 0):
Code:(...) x: 154, y: 99 x: 155, y: 99 x: 156, y: 99 x: 157, y: 99 x: 158, y: 99 x: 159, y: 99 x: 160, y: 99 x: 161, y: 99 x: 162, y: 99 x: 163, y: 99 *** glibc detected *** ./seq_constr: double free or corruption (out): 0x0000000001f95b70 ***

Idem voor overige progtalen, maar C++ is natuurlijk het stereotype vervelende nerdtaal, waarbij dit soort abstracte foutmeldingen natuurlijk niet mochten ontbreken. Ik haat het.Wat een vage en totaal nietszeggende foutmeldingen man, C#/VS heeft altijd goede nuttige errors. Oja, Dreamspark ligt eruit dus kon VS niet downloaden (gelijk ontopic), heb even via kickass geplukt. Kijk wel of ik dit ook ff kan maken![]()
